Python:如何判断列表中的元素是否包含某个数字?

时间:2018-03-02 11:50:47

标签: python python-3.x list boolean

例如,如果我输入:

li=[33];
3 in li

我明白了:

False

如果我检查33是否存在,当然我得到“真实”。 如何正确检查列表元素中是否存在数字?

2 个答案:

答案 0 :(得分:2)

这是一个非常简单的方法:

li = [33,44,55]
['3' in str(x) for x in li]

这给出了

[True, False, False]

通过使用列表推导,我们会浏览li的元素,将值转换为str。然后检查字符串中是否为'3'(或您想要的任何值)。 此操作的结果是li的长度列表,其值为TrueFalse

这也适用于n位数字,即

['31' in str(x) for x in [1314]]

也会返回true。

这里我们隐含地假设li的所有元素都可以作为字符串传递。

答案 1 :(得分:2)

这是一种比较的功能方法:

lst = [5, 1, 23, 6, 33, 31, 15]

res = list(map(lambda x: '3' in x, map(str, lst)))

# [False, False, True, False, True, True, False]