演習:
マップの文字列リストに対処するために、すべてのリストは一例alex_sbため、SBになります
l=[{'name':'alex'},{'name':'y'}]
l=[{'name':'alex'},{'name':'y'}] l = list(map(lambda x:{"name":x["name"]+"_sb"},l)) print(l)
リットルをマップするには、次の工程では、リストで新しいリストを取得し、リストが最後SBのそれぞれの名前であります
l=[{'name':'alex'},{'name':'y'}]
l=[{'name':'alex'},{'name':'y'}]
l1 = list(map(lambda x:{"name":x["name"]+"sb"},l))
print(l1)
- 対処するためのフィルタでは、株価を取得することが20の銘柄よりも大きく、
shares={
'IBM':36.6,
'Lenovo':23.2,
'oldboy':21.2,
'ocean':10.2,
}
shares={
'IBM':36.6,
'Lenovo':23.2,
'oldboy':21.2,
'ocean':10.2,
}
lst = list(filter(lambda x:shares[x]>20,shares))
print(lst)
- そこ以下の辞書は、各株式の合計購入価格を取得しており、イテレータに入れました。
結果:[9110.0、27161.0、...]のリスト
portfolio = [
{'name': 'IBM', 'shares': 100, 'price': 91.1},
{'name': 'AAPL', 'shares': 50, 'price': 543.22},
{'name': 'FB', 'shares': 200, 'price': 21.09},
{'name': 'HPQ', 'shares': 35, 'price': 31.75},
{'name': 'YHOO', 'shares': 45, 'price': 16.35},
{'name': 'ACME', 'shares': 75, 'price': 115.65}]
portfolio = [
{'name': 'IBM', 'shares': 100, 'price': 91.1},
{'name': 'AAPL', 'shares': 50, 'price': 543.22},
{'name': 'FB', 'shares': 200, 'price': 21.09},
{'name': 'HPQ', 'shares': 35, 'price': 31.75},
{'name': 'YHOO', 'shares': 45, 'price': 16.35},
{'name': 'ACME', 'shares': 75, 'price': 115.65}]
lst = map(lambda x: x["shares"]*x["price"],portfolio)
print(list(lst))
またはフィルタ100によってフィルタリング上記の辞書には、一価の株式よりも大きくなります。
portfolio = [ {'name': 'IBM', 'shares': 100, 'price': 91.1}, {'name': 'AAPL', 'shares': 50, 'price': 543.22}, {'name': 'FB', 'shares': 200, 'price': 21.09}, {'name': 'HPQ', 'shares': 35, 'price': 31.75}, {'name': 'YHOO', 'shares': 45, 'price': 16.35}, {'name': 'ACME', 'shares': 75, 'price': 115.65}] lst = filter(lambda x:x["shares"]>100,portfolio) print(list(lst))
データは、次の3種類がありますが、
l1 = [1,2,3,4,5,6] l2 = ['oldboy','alex','wusir','太白','日天'] tu = ('**','***','****','*******')
書き込みコード、それが最終的に得られる(> 2の各祖先、および第三の最初の要素は、*は少なくとも4です。)
[(3, 'wusir', '****'), (4, '太白', '*******')]
このようなデータ。
l1 = [1, 2, 3, 4, 5, 6] l2 = ['oldboy', 'alex', 'wusir', '太白', '日天'] tu = ('**', '***', '****', '*******') lst = zip(l1,l2,tu) print(list(filter(lambda x:x[0]>2 and len(x[2])>3,list(lst))))
))次のタイプのデータ(実際のタイトルを持っています:
l1 = [ {'sales_volumn': 0}, {'sales_volumn': 108}, {'sales_volumn': 337}, {'sales_volumn': 475}, {'sales_volumn': 396}, {'sales_volumn': 172}, {'sales_volumn': 9}, {'sales_volumn': 58}, {'sales_volumn': 272}, {'sales_volumn': 456}, {'sales_volumn': 440}, {'sales_volumn': 239}]
L1は、新しいリストを形成するために、各辞書のためのリストでサイズ値によってソートされます。
l1 = [{'sales_volumn': 0}, {'sales_volumn': 108}, {'sales_volumn': 337}, {'sales_volumn': 475}, {'sales_volumn': 396}, {'sales_volumn': 172}, {'sales_volumn': 9}, {'sales_volumn': 58}, {'sales_volumn': 272}, {'sales_volumn': 456}, {'sales_volumn': 440}, {'sales_volumn': 239}] lst = sorted(l1,key=lambda x:x["sales_volumn"]) print(lst)
私たちは、より古い16歳辞書をフィルタリングすることで、次のようなデータ構造を持っています
lst = [{'id':1,'name':'alex','age':18}, {'id':1,'name':'wusir','age':17}, {'id':1,'name':'taibai','age':16},]
lst = [{'id':1,'name':'alex','age':18},
{'id':1,'name':'wusir','age':17},
{'id':1,'name':'taibai','age':16},]
new_lst =filter(lambda x:x["age"]>16,lst)
print(list(new_lst))
9.以下のリストは、昇順の要素の長さに応じて
lst = ['天龙八部','西游记','红楼梦','三国演义']
lst = ['天龙八部','西游记','红楼梦','三国演义']
new_lst = sorted(lst,key=lambda x:len(x))
print(new_lst)
年齢の要素に応じて昇順に10以下のデータ、
lst = [{'id':1,'name':'alex','age':18},
{'id':2,'name':'wusir','age':17},
{'id':3,'name':'taibai','age':16},]
lst = [{'id':1,'name':'alex','age':18},
{'id':2,'name':'wusir','age':17},
{'id':3,'name':'taibai','age':16},]
new_lst = sorted(lst,key=lambda x:x["age"])
print(new_lst)
コード11 ...物語、二つの方法の違いを見てください
lst = [1,2,3,5,9,12,4]
lst.reverse()
print(lst)
print(list(reversed(lst)))
lst = [1,2,3,5,9,12,4]
lst.reverse()
print(lst)
#直接修改了原列表
print(list(reversed(lst)))
#原列表没有改变,只是新建了一个列表
探している結果(面接の質問)
v = [lambda :x for x in range(10)]
print(v)
print(v[0])
print(v[0]())
v = [lambda :x for x in range(10)]
print(v)#10个lambda函数地址
print(v[0])#第一个lambda函数的地址<function <listcomp>.<lambda> at 0x000002846C5EDB70>
print(v[0]())#9
13の評価結果(面接の質問)
v = (lambda :x for x in range(10))
print(v)
print(v[0])
print(v[0]())
print(next(v))
print(next(v)())
v = (lambda :x for x in range(10))
print(v)#生成器地址<generator object <genexpr> at 0x00000257F81E4C50>
print(v[0])#报错
print(v[0]())#报错
print(next(v))#生成器第一个函数的地址<function <genexpr>.<lambda> at 0x00000257F827DAE8>
print(next(v)())#1
出力は何14.map(STR、[1,2,3,4,5,6,7,8,9])?(インタビューの質問)
map(str,[1,2,3,4,5,6,7,8,9])
#什么也不输出
print(map(str,[1,2,3,4,5,6,7,8,9]))
#得到一个迭代器的地址
print(list(map(str,[1,2,3,4,5,6,7,8,9])))
#['1','2','3','4','5','6,'7','8','9']
配列は15 34,1,2,5,6,6,5,4,3,3]配列の総数はそれが重複しています(上記のデータを繰り返していないことが判明する関数を記述してください。 1 + 2 = 3)(インタビュー質問の和)
#方法一
lst = [34,1,2,5,6,6,5,4,3,3]
l = 2*sum(set(lst)) - sum(lst)
print(l)
#方法二
lst = [34,1,2,5,6,6,5,4,3,3]
from functools import reduce
lst = sum(filter(lambda x: lst.count(x) < 2, lst))
print(lst)
16 :(インタビューの質問、より困難な、他人の評価結果は、最初のタイトルを行います)
def num():
return [lambda x:i*x for i in range(4)]
print([m(2)for m in num()])
结果
#[6,6,6,6]