我是Python的新手。如果我有一个像这样的“数据”变量:
data = [['water', 'chips', 'pie', 'fruit', 200], ['soda', 'nuts', 'cake', 'vegetables', 300], ['water', 'chips', 'cake', 'fruit', 40], ['soda', 'crackers', 'cake', 'vegetables', 80]]
我有一个这样的清单:
ls = [['water', 'chips'], ['soda', 'nuts']]
如何返回data[i][4] for i in data
包含两个值的总和并将其附加到列表中。
total = 0
for i in data:
for x in ls
if i contains x:
ls[2] = total += total
# should return
ls = [['water', 'chips', 240], ['soda', 'nuts', 300]]
中的最后一个元素ls
是data[3][4]
包含和的元素的总和ls[1]
ls[2]
res = [
e + # filter list itself
[
sum( # sum all
l[4] # get fourth item if contains all
for l in data # take each element of data
if all(i in l for i in e) # check if contains all filter list
)
] # concat sum to list itself
for e in ls # take each element of filter list
]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句