gpt4 book ai didi

python - 检查一个字符串是否包含 Python 列表中的任一字符串

转载 作者:行者123 更新时间:2023-11-28 20:59:48 28 4
gpt4 key购买 nike

我有一个列表:

a = ['2005', '2006']

和列表b:

b = ['2005.123', '2005.234', '2006.123', '2007.234']

如果我想要一个包含字符串“2005”的 b 中所有元素的列表,我会这样做:

[value for value in b if '2005' in str(value)]

但我想要一个包含列表 a 中任一字符串值的 b 中所有值的列表(列表 a 和 b 可以是几个元素长),而这个不起作用:

[value for value in b if ['2005', '2006'] in str(value)]

我希望代码返回

['2005.123', '2005.234', '2006.123']

有没有不使用循环的更简单的方法?

最佳答案

使用any() :

[value for value in b if any(d in value for d in a)]
#['2005.123', '2005.234', '2006.123']

此外,您不必调用 str(value),因为它已经是一个字符串。


更新:为了好玩,这是使用 filter() 做同样事情的另一种方法:

filter(lambda value: any(d in value for d in a), b)

关于python - 检查一个字符串是否包含 Python 列表中的任一字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49183423/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com