我有一个简单的列表。lst1 = ['a', 'b', 'c']
我还有一个嵌套列表,上面的值加上更多。lst2 = [ ('a',[ 'aaa', 'bbb']), ('b',[ 'xxx', 'yyy']), ('c',['ww', 'mm', 'ii']), ('e',['rr', 'rr', 'tt'])]
我试图将lst1中的所有共同元素 与lst2中的元素相匹配 然后用共同元素加上嵌套的值创建一个新的嵌套列表。
lst3 = [('a',[ 'aaa', 'bbb']), ('b',[ 'xxx', 'yyy']), ('c',['ww', 'mm', 'ii'])]
我的代码如下:
lst3 = []
for i in lst2:
if i in lst1 and lst2[0]:
lst3.append(i)
但lst3在运行循环后变成了空的。如果有任何提示,将不胜感激。
谢谢
你正在检查 if i in lst1 and lst2[0]:
从未 True
因为 ('a',[ 'aaa', 'bbb'])
不在 lst1
.
lst1 = ['a', 'b', 'c']
lst2 = [ ('a',[ 'aaa', 'bbb']), ('b',[ 'xxx', 'yyy']), ('c',['ww', 'mm', 'ii']), ('e',['rr', 'rr', 'tt'])]
ans = []
for i in lst2:
x = i[0]
if x in lst1:
ans.append(i)
print(ans)
[('a', ['aaa', 'bbb']), ('b', ['xxx', 'yyy']), ('c', ['ww', 'mm', 'ii'])]
如果你得到了你的答案,请接受它,否则评论下来问题。