我有两份表格:
a = [[x1, 1], [x2, 0], [x3, 4], [x4, 12], [x5, 15]]
b = [[x2, 10], [x3, 41], [x7, 50]]我想我可以在下面这样做,得到ids x1,x2,x3等等。
x = [item for item in b if item in a]
print(x)
[[x2, 10], [x3, 41]]实际上,我想打印a中b中的元素,并比较它们的值。
[x2, 10] -> [x2, 0]
[x3, 41] -> [x3, 4]因此,在上面的示例中,只打印if b[0][1] == 0 & a[1][1] != 0中的元素。
任何帮助都将不胜感激!
发布于 2019-08-23 07:42:19
您可以使用:
a = [['x1', 1], ['x2', 0], ['x3', 4], ['x4', 12], ['x5', 15]]
b = [['x2', 10], ['x3', 41], ['x7', 50]]
a_dict = dict(a)
print(' b a')
for x, val in b:
if x in a_dict:
print(f'[{x}, {val}] --> [{x}, {a_dict[x]}]')产出:
b a
[x2, 10] --> [x2, 0]
[x3, 41] --> [x3, 4]发布于 2019-08-23 07:35:40
像这样的东西可能就是你想要的:
ax = [item[0] for item in a]
x = [item for item in b if item[0] in ax]
print x发布于 2019-08-23 07:37:59
list comprehension与enumerate的结合
Ex.
a = [['x1', 1], ['x2', 0], ['x3', 4], ['x4', 12], ['x5', 15]]
b = [['x2', 10], ['x3', 41], ['x7', 50]]
x = [a[index] for y in b for index,x in enumerate(a) if y[0] == x[0]]
print(x)O/P:
[['x2', 0], ['x3', 4]]https://stackoverflow.com/questions/57621624
复制相似问题