Python 如何使用一个列表中的条件从另一个列表中查找值
我有两份清单:Python 如何使用一个列表中的条件从另一个列表中查找值,python,zip,Python,Zip,我有两份清单: lista = [0,5,0,5,0,5] listb = ['a','b','c','d','e','f'] 当lista的值为5时,它是否会在listb的相应位置找到它,因此字母'b'、'd'、'f'就是结果 我想用zip来获取它,但我不知道如何应用该条件。您可以通过条件列表来实现: lista = [0,5,0,5,0,5] listb = ['a','b','c','d','e','f'] print ([listb[i] for i,a in enumerate(li
lista = [0,5,0,5,0,5]
listb = ['a','b','c','d','e','f']
当lista
的值为5
时,它是否会在listb
的相应位置找到它,因此字母'b'、'd'、'f'
就是结果
我想用
zip
来获取它,但我不知道如何应用该条件。您可以通过条件列表来实现:
lista = [0,5,0,5,0,5]
listb = ['a','b','c','d','e','f']
print ([listb[i] for i,a in enumerate(lista) if a == 5])
您可以通过条件列表执行此操作:
lista = [0,5,0,5,0,5]
listb = ['a','b','c','d','e','f']
print ([listb[i] for i,a in enumerate(lista) if a == 5])
您也可以使用numpy。如果你的数据集很大,速度会快得多
import numpy as np
lista = np.asarray([0,5,0,5,0,5])
listb = np.asarray(['a','b','c','d','e','f'])
listb[lista==5]
您也可以使用numpy。如果你的数据集很大,速度会快得多
import numpy as np
lista = np.asarray([0,5,0,5,0,5])
listb = np.asarray(['a','b','c','d','e','f'])
listb[lista==5]
当我输入它时,我得到了一个“bool”对象不可编辑的错误,只是用两种语言测试了它。它很好用。确保只复制和粘贴整个内容,然后首先尝试。这样行吗?你用的是哪一版本的python?3.3.2,但很好,很抱歉,我先在shell中尝试了一下,我的错…当我输入它时,我得到了一个错误“bool”object is not Iterable只是用两种语言测试了它。它很好用。确保只复制和粘贴整个内容,然后首先尝试。这样行吗?你用的是什么版本的python?3.3.2,但是很好,很抱歉,我先在shell中尝试了一下,我的坏。。。。