我有一个清单:

my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

并要搜索包含字符串'abc' 。 我怎样才能做到这一点?

if 'abc' in my_list:

会检查列表中是否存在'abc' ,但它是'abc-123''abc-456' ,因此'abc'不存在。 那么,如何获取所有包含'abc'


#1楼

只是把它扔在那里:如果您碰巧需要匹配多个字符串,例如abcdef ,则可以按如下方式组合两种理解:

matchers = ['abc','def']
matching = [s for s in my_list if any(xs in s for xs in matchers)]

输出:

['abc-123', 'def-456', 'abc-456']

#2楼

据我所知,“ for”陈述总是会浪费时间。

当列表长度增加时,执行时间也会增加。

我认为,使用“ is”语句在字符串中搜索子字符串会更快一些。

In [1]: t = ["abc_%s" % number for number in range(10000)]In [2]: %timeit any("9999" in string for string in t)
1000 loops, best of 3: 420 µs per loopIn [3]: %timeit "9999" in ",".join(t)
10000 loops, best of 3: 103 µs per loop

但是,我同意any语句更具可读性。


#3楼

如果您只想知道'abc'是否在其中一项中,这是最短的方法:

if 'abc' in str(my_list):

#4楼

x = 'aaa'
L = ['aaa-12', 'bbbaaa', 'cccaa']
res = [y for y in L if x in y]

#5楼

如果您只想检查列表中任何字符串中是否存在abc ,可以尝试

some_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any("abc" in s for s in some_list):# whatever

如果您真的想获取所有包含abc的项目,请使用

matching = [s for s in some_list if "abc" in s]

#6楼

any('abc' in item for item in mylist)

#7楼

使用filter获得具有abc的元素。

>>> lst = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
>>> print filter(lambda x: 'abc' in x, lst)
['abc-123', 'abc-456']

您还可以使用列表推导。

>>> [x for x in lst if 'abc' in x]

顺便说一句,不要将单词list用作变量名,因为它已经用于list类型。


#8楼

for item in my_list:if item.find("abc") != -1:print item

#9楼

my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']for item in my_list:if (item.find('abc')) != -1:print ('Found at ', item)

#10楼

我是Python的新手。 我得到了下面的代码,使其易于理解:

my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
for str in my_list:if 'abc' in str:print(str)

#11楼

问题:提供abc的信息

    a = ['abc-123', 'def-456', 'ghi-789', 'abc-456']aa = [ string for string in a if  "abc" in string]print(aa)Output =>  ['abc-123', 'abc-456']

#12楼

mylist=['abc','def','ghi','abc']pattern=re.compile(r'abc') pattern.findall(mylist)

#13楼

我进行了搜索,要求您输入某个值,然后它将从包含您的输入的列表中查找一个值:

my_list = ['abc-123','def-456','ghi-789','abc-456']imp = raw_input('Search item: ')for items in my_list:val = itemsif any(imp in val for items in my_list):print(items)

尝试搜索“ abc”。


#14楼

使用Python字符串类的__contains__()方法:

a = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
for i in a:if i.__contains__("abc") :print(i, " is containing")

#15楼

def find_dog(new_ls):splt = new_ls.split()if 'dog' in splt:print("True")else:print('False')find_dog("Is there a dog here?")

#16楼

这是一个很老的问题,但是我提供了这个答案,因为先前的答案不能解决列表中不是字符串(或某种可迭代对象)的项。 这些项目将导致整个列表理解失败,并发生异常。

要通过跳过不可迭代的项目来优雅地处理列表中的此类项目,请使用以下命令:

[el for el in lst if isinstance(el, collections.Iterable) and (st in el)]

然后,带有这样的列表:

lst = [None, 'abc-123', 'def-456', 'ghi-789', 'abc-456', 123]
st = 'abc'

您仍然会得到匹配的项目( ['abc-123', 'abc-456']

可迭代的测试可能不是最好的。 从这里得到它: 在Python中,如何确定对象是否可迭代?

检查Python列表项是否在另一个字符串中包含一个字符串相关推荐

  1. python判断字符串中包含某个字符串_Python中最常用的字符串方法!

    译 / 忧郁的红秋裤 字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串还有一些专属于它们的附加方法.下图显示了所有这 ...

  2. [转载] python判断字符串中包含某个字符串_干货分享| Python中最常用的字符串方法

    参考链接: Python中字符串string capitalize 字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串 ...

  3. 如何在另一个JavaScript文件中包含一个JavaScript文件?

    JavaScript中是否有类似于CSS中@import的内容,可让您在另一个JavaScript文件中包含一个JavaScript文件? #1楼 而不是在运行时添加,而是使用脚本在上传之前进行串联. ...

  4. python判断字符串是否包含大写字母_Python:Python:如何检查unicode字符串是否包含一个cased字符?...

    我在做一个过滤器,检查一个Unicode(UTF-8编码)字符串是否不包含大写字符(在所有语言中).如果字符串根本不包含任何大小写字符,我也可以. 例如:"你好!"不会通过过滤器, ...

  5. 任意长度的python列表_任意长度的Python列表、元组和字符串中最后一个元素的索引为...

    任意长度的Python列表.元组和字符串中最后一个元素的索引为 答:-1 什么是软件工程? 答:百度定义:软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言 ...

  6. 任意长度的python列表最后一个元素索引_任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 ________ 。_学小易找答案...

    [填空题]已知 x = [3, 5, 7] ,那么表达式 x[10:] 的值为 ____________ . [填空题]表达式 [x for x in [1,2,3,4,5] if x<3] 的 ...

  7. 任意长度的python列表最后一个元素索引_任意长度的Python列表、元组和字符串中最后一个元素的下标为...

    [填空题]Python内置函数__用来返回序列中的最小元素 [填空题]表达式 list(range(5)) 的值为 [填空题]表达式 int(4**0.5) 的值为 [填空题]表达式 3 or 5 的 ...

  8. python类中包含一个特殊的变量、它表示当前对象自身_知到APP教师职场礼仪第七单元章节测试网课答案大学课后答案...

    [判断题]水参与了植物体内众多的生物化学反应. [单选题]所有参加保险的人为自己办理保险而合作成立法人组织的相互保险组织是( ). A. 相互保险公司 B. 相互保险社 C. 保险合作社 D. 保险合 ...

  9. python类中包含一个特殊的变量、它可以访问类的成员_区域联防的运用中遵循并贯彻以球为主的防守原则,做到球人区三者兼顾。( )...

    刘墉书法的特点是用墨厚重,体丰骨劲,浑厚敦实,别具面目.A:对B:错 Python类中包含一个特殊的变量(),它表示当前对象自身,可以访问类的成员.A:meB:selfC:thisD:与类同名 在过火 ...

最新文章

  1. java 1%10_Java 操作符与运算符详解
  2. 蛇形摆matlab,小学生注意力辅导
  3. 2月中国域名总量平稳回升 净增长量逾10.3万个
  4. Python属性和内建属性
  5. LINQ to SQL语句(1)之Where(抄的好)
  6. hash算法的介绍 【清晰易懂】
  7. 让同步函数同步执行,异步函数异步执行,并且让它们具有统一的 API
  8. java面试设计模式
  9. [转载] Java中对象数组的使用
  10. Networdx小案例学习
  11. nginx listen
  12. 前女友发来加密的 “520快乐.pdf“,我用python破解开之后,却发现。。。
  13. JavaScript中的ActiveXObject对象
  14. 寻找生态位置,中小险企破局生态建设——保险生态建设
  15. 100个Python实战项目(七)实现摩斯密码翻译器
  16. 南丁格尔图文字颜色跟随
  17. absolute位置用法html,html/css中相对定位relative和绝对定位absolute的用法
  18. 红孩儿编辑器的模块设计10
  19. zipfile — 访问 ZIP 压缩文件
  20. 2022年上半年软件设计师考试下午真题(专业解析+参考答案)

热门文章

  1. 初学Java,第一段代码
  2. 移动web中的幻灯片切换效果
  3. Hive Udf Rank
  4. 视频专辑:Web Service视频教程
  5. WinCE --- 调试RS485串口
  6. 第8章 数据库实例与操作模式
  7. CLR 4.0 有哪些新东西? What's new in CLR 4.0--类型嵌入 Type embedding
  8. Angular 自定义模块
  9. git克隆某一个branch
  10. win10 1909更新后无法上网三种解决方法