如何检查 python 中两个不同列表中的相同位置
How to check same position in two different lists in python
我是 python 的新手。
我有两个不同的列表
A = [0,0,0,0,0,20,40,0]
B = [0,0,0,0,0,3,0,0]
在列表 A 中,它在位置 5 和 6 处有值。所以我想在列表 B 中的位置 5 和 6 处获得相应的值(3 和 0)。
所以你能给我一些建议吗?
提前致谢。
将枚举与 list_comprehension 一起使用。
>>> A = [0,0,0,0,0,20,40,0]
>>> B = [0,0,0,0,0,3,0,0]
>>> [B[i] for i,j in enumerate(A) if j != 0]
[3, 0]
>>> [B[i] for i,j in enumerate(A) if j]
[3, 0]
只需遍历列表并检查非零值。
A = [0,0,0,0,0,20,40,0]
B = [0,0,0,0,0,3,0,0]
j = 0
for item in A:
if item != 0:
temp = B[j]
print(temp)
j = j+1
else:
j = j+1
输出:
3
0
列表理解的解决方案很好,但对于初学者来说很难阅读。使用 j 迭代器的解决方案很好,但您可以使用内置的 enumerate()
函数来做同样的事情。
A = [0,0,0,0,0,20,40,0]
B = [0,0,0,0,0,3,0,0]
for index, val in enumerate(A):
if val != 0:
temp = B[index]
print(temp)
输出30
>>> A = [0,0,0,0,0,20,40,0]
>>> B = [0,0,0,0,0,3,0,0]
>>> [j for i, j in zip(A, B) if i]
[3, 0]
我是 python 的新手。
我有两个不同的列表
A = [0,0,0,0,0,20,40,0]
B = [0,0,0,0,0,3,0,0]
在列表 A 中,它在位置 5 和 6 处有值。所以我想在列表 B 中的位置 5 和 6 处获得相应的值(3 和 0)。
所以你能给我一些建议吗?
提前致谢。
将枚举与 list_comprehension 一起使用。
>>> A = [0,0,0,0,0,20,40,0]
>>> B = [0,0,0,0,0,3,0,0]
>>> [B[i] for i,j in enumerate(A) if j != 0]
[3, 0]
>>> [B[i] for i,j in enumerate(A) if j]
[3, 0]
只需遍历列表并检查非零值。
A = [0,0,0,0,0,20,40,0]
B = [0,0,0,0,0,3,0,0]
j = 0
for item in A:
if item != 0:
temp = B[j]
print(temp)
j = j+1
else:
j = j+1
输出:
3 0
列表理解的解决方案很好,但对于初学者来说很难阅读。使用 j 迭代器的解决方案很好,但您可以使用内置的 enumerate()
函数来做同样的事情。
A = [0,0,0,0,0,20,40,0]
B = [0,0,0,0,0,3,0,0]
for index, val in enumerate(A):
if val != 0:
temp = B[index]
print(temp)
输出30
>>> A = [0,0,0,0,0,20,40,0]
>>> B = [0,0,0,0,0,3,0,0]
>>> [j for i, j in zip(A, B) if i]
[3, 0]