检查列表项是否包含 Python 在另一条线里面行
我有一个列表:
并希望搜索包含字符串的对象
. 我怎样才能做到这一点?
会检查是否有
在列表中,但这是部分
和
,
本身并不存在。 所以,如何获得包含的所有元素
?
my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
并希望搜索包含字符串的对象
'abc'
. 我怎样才能做到这一点?
if 'abc' in my_list:
会检查是否有
'abc'
在列表中,但这是部分
'abc-123'
和
'abc-456'
,
'abc'
本身并不存在。 所以,如何获得包含的所有元素
'abc'
?
没有找到相关结果
已邀请:
18 个回复
窦买办
赞同来自:
在列表的任何行中,您可以尝试
如果您真的想获取包含的所有物品
, 使用
matching = [s for s in some_list if "abc" in s]
三叔
赞同来自:
和
, 您可以根据以下了解列表的两个理解:
出口:
['abc-123', 'def-456', 'abc-456']
奔跑吧少年
赞同来自:
, 到达有元素
.
您还可以使用对列表的理解。
>>> [x for x in lst if 'abc' in x]
顺便说一下,不要使用这个词
作为变量名称,因为它已用于类型
.
龙天
赞同来自:
三叔
赞同来自:
要优化列表中的此类元素,请跳过非成员元素,请使用以下内容:
[el for el in lst if isinstance/el, collections.Iterable/ and /st in el/]
然后,使用此类列表:
你仍然得到相应的物品 /
['abc-123', 'abc-456']
/
测试 iterable 也许不是最好的。 从这里得到它:
https://coderoad.ru/1952464/
涵秋
赞同来自:
君笑尘
赞同来自:
诸葛浮云
赞同来自:
涵秋
赞同来自:
条款。
三叔
赞同来自:
小姐请别说爱
赞同来自:
石油百科
赞同来自:
风见雨下
赞同来自:
尝试去找 'abc'.
龙天
赞同来自:
八刀丁二
赞同来自:
索引列表
, 与符合符合如下:
出口
[0, 3]
诸葛浮云
赞同来自:
你可以通过这种方式改变它
郭文康
赞同来自:
冰洋
赞同来自:
当列表长度增长时,执行时间也会增长。
我认为搜索使用操作员的字符串中的子字符串 'is' 一点点更快。
但我同意批准
更可读。