今日のノートを仕上げ、クラスのコードは、少なくとも3回ノック。
リスト内包して以下の小さな問題を実行します。
3未満の長さの文字列のリストを濾過し、大文字に残り
l = ['wusir', 'laonanhai', 'aa', 'b', 'taibai'] # print([i.upper() for i in l if len(i) > 3])
検索(x、y)は、xは0~5の間の偶数であり、yは0~5からなる祖先奇数リストの間であります
# print([(i,j) for i in range(6) if i % 2 == 0 for j in range(6) if j % 2 == 1])
M M = [1,2,3]、[4,5,6]、[7,8,9]]からなるリストの中で求め-3,6,9-
print([[i-2,i-1,i] for i in range(3, 10, 3)])
50は3で割り切れる数の正方形内に得られ、そしてリストに入れることができます。
print([i**2 for i in range(50) if i % 3 == 0])
リストの構築:[ 'のpython1'、 'python2期間'、 'のpython3期間'、 'python4期間'、 'python6期間'、 'python7期間'、 'python8期間'、 'python9期間'、 'のpython10']
print(['python%s期'% i for i in range(1,11) if i != 5])
リストの構築:[(0,1)、(1,2)、(2,3)、(3,4)、(4,5)、(5,6)]
print([(i,i+1) for i in range(6)])
[0、2、4、6、8、10、12、14、16、18]のリストを構築します
print([i+i for i in range(10)])
L1のリストがあります= [「アレックス」、「WuSir」、「オールドボーイズ」、「白」]リストで設定されている[「alex0」、「WuSir1」、「歳の少年2」、「3白」]
print([l1[i] + str(i) for i in range(len(l1))])
次のデータ型:
x = {'name':'alex',
'Values':[{'timestamp':1517991992.94,'values':100,},
{'timestamp': 1517992000.94,'values': 200,},
{'timestamp': 1517992014.94,'values': 300,},
{'timestamp': 1517992744.94,'values': 350},
{'timestamp': 1517992800.94,'values': 280}],}
リストによって導出下記式へのデータの上記タイプ:[1,517,991,992.94、100]、[1,517,992,000.94、200]、[1,517,992,014.94、300]、[1,517,992,744.94、350]、[1,517,992,800.94、280]
print([[i['timestamp'], i['values']] for i in x['Values']])
デカルト製品リストとの完全な
デカルト積とは何ですか?デカルト積がリストされ、反復型内部リスト要素は、長さが入力変数の長さの積に等しくなるように、リストの直積、からなる群の入力要素の要素に利用可能にされます。
Tシャツの3種類のサイズのリストであるリストの。建設は、各色は、二次元(タプル型内の要素のリスト)を有しています。
colors = ['black', 'white']
sizes = ['S', 'M', 'L']
tshirts = [(color, size)for color in colors for size in sizes]
print(tshirts)
リストのB.建設要素はキングサイズ後に除去されているカードのリスト、カードのすべてのクラス(タプル型内部リスト要素)。
l1 = [('A','spades'),('A','diamonds'), ('A','clubs'), ('A','hearts')......('K','spades'),('K','diamonds'), ('K','clubs'), ('K','hearts') ]
ranks = [str(n) for n in range(2, 11)] + list('JQKA')
suits = 'spades diamonds clubs hearts'.split()
lis = [(rank, suit) for suit in suits for rank in ranks]
簡単に言うと収量からの収量の違い。
収率は限り収率は、彼ではなく、関数の生成関数であるように機能識別ジェネレータ関数です。
次の歩留まりのジェネレータ関数から値を取得します。
発生器は内部目標値を生成するように、それは各反復のための1つになります:話すから理解収率の容易さの観点から
羊と[「ウェイロング」から収率、「古いアイスキャンディー」、「北極」、」 「]
:と同等です
Waylung」降伏「
降伏」古いアイスキャンディー
降伏『北極』
羊との利回り『』
(、記憶しなければならない顔の質問)の二つの機能からの収量を話すより深い視点から:彼は完全に、内側のループを交換効率を向上させるので、それは(あなたが次の問題を確認することができます)よりスムーズに読み込むことができます。
また、チャネル、発電機の外クライアントに直接接続された内側のジェネレータを作成することができます
簡素化する能力に次のコードを見てください?あなたは、単純化の利点について話した後?
def chain(*iterables):
for it in iterables:
for i in it:
yield i
g = chain('abc',(0,1,2))
print(list(g)) # 将迭代器转化成列表
def chain(*iterables):
for it in iterables:
yield from it
g = chain('abc',(0,1,2))
print(list(g))
优点: 他可以完全代替了内层循环,提高效率,让待吗读起来更顺畅(下一道题就可以验证)。
- コード追求の結果(を見て面接の質問):
v = [i % 2 for i in range(10)]
print(v)
v = (i % 2 for i in range(10))
print(v)
for i in range(5):
print(i)
print(i)
- コード:(評価の結果を参照してください。インタビューの質問に)
def demo():
for i in range(4):
yield i
g=demo()
g1=(i for i in g)
g2=(i for i in g1)
print(list(g1))
print(list(g2))
- コード:(評価の結果を参照してください。インタビューの質問に)
def add(n,i):
return n+i
def test():
for i in range(4):
yield i
g=test()
for n in [1,10]:
g=(add(n,i) for i in g)
print(list(g))
# 分步去分析循环。