Pythonプログラミングのさまざまな派生物の詳細な説明

推定ルーチン

これまでに、最も単純なリスト内包表記とジェネレータ式を学習しました。しかし、それに加えて、実際には辞書の派生、セットの派生などがあります。

以下は、リスト誘導を例として使用した誘導タイプの詳細な形式です。これは、他の誘導タイプにも適用できます。

variable = [out_exp == 2の場合、input_listのout_expのout_exp_res] 
  out_exp_res:リスト生成要素の式。戻り値を持つ関数にすることができます。
  input_listのout_expの場合:input_listを繰り返し、out_expをout_exp_res式に渡します。
  if out_exp == 2:条件に従って、どの値をフィルタリングできるか。

リストの理解

例1:30以内で3で割り切れるすべての数値

multiples = [i%3 is 0の場合、範囲内のi for i(30)] 
print(multiples)
#出力:[0、3、6、9、12、15、18、21、24、27]

例2:30以内で3で割り切れるすべての数値の2乗

def squared(x):
    return x * x 
multiples = [squared(i)for i in range(30)if i%3 is 0]] 
print(multiples)

例3:ネストされたリストで2つの「e」を持つすべての名前を検索する

names = [['Tom'、 'Billy'、 'Jefferson'、 'Andrew'、 'Wesley'、 'Steven'、 'Joe']、
         ['Alice'、 'Jill'、 'Ana'、 'Wendy'、 'Jennifer'、 'Sherry'、 'Eva']] 

print([name.count( 'e')> = 2 if if lstの名前の名前のlstの名前)トラバーサル順序に注意してください。これは実装の鍵です
 

 

辞書の理解

例1:辞書のキーと値を交換する

mcase = {'a':10、 'b':34} 
mcase_frequency = {mcase [k]:k for k in mcase} 
print(mcase_frequency)

例2:大文字と小文字に対応する値の値を組み合わせ、kを小文字に統一する

mcase = {'a':10、 'b':34、 'A':7、 'Z':3} 
mcase_frequency = {k.lower():mcase.get(k.lower()、0)+ mcase .get(k.upper()、0)mcase.keys()}のkの場合は
print(mcase_frequency)

 

理解度を設定する

例:独自の重複排除機能を使用して、リスト内の各値の二乗を計算します

squared = {x ** 2 for x in [1、-1、2]} 
print(squared)
#出力:set([1、4])

 

練習問題:

例1:長さが3未満の文字列のリストをフィルターで除外し、残りを大文字に変換する

例2:(x、y)を検索します。ここで、xは0〜5の偶数で、yは0〜5の奇数の祖先リストです。

例3:Mで3,6,9のリストを検索M = [[1,2,3]、[4,5,6]、[7,8,9]]

1. [name.upper()の場合、names in names if len(name)> 3] 
2。[(x、y)for x in range(5)if x%2 == 0 for y in range(5)if y%2 == 1] 
3. [Mの行の行[2]]

おすすめ

転載: www.cnblogs.com/7758520lzy/p/12712998.html