我遇到过这个:
item = someSortOfSelection()
if item in myList:
doMySpecialFunction(item)
Run Code Online (Sandbox Code Playgroud)
但有时它不适用于我的所有项目,就好像它们在列表中未被识别一样(当它是一个字符串列表时).
这是在列表中找到一个项目的最"Python化"的方式:if x in l:?
我看到人们正在使用any收集另一个列表来查看列表中是否存在某个项目,但是有一个快速的方法可以做到吗?:
if list.contains(myItem):
# do something
Run Code Online (Sandbox Code Playgroud) 有关在数字列表中检索部分匹配项的方法,请访问:
但是,如果您正在寻找如何检索字符串列表的部分匹配项,您会在下面的答案中找到简明扼要地解释的最佳方法。
SO:部分匹配的 Python 列表查找显示了如何返回 a bool,如果 alist包含部分匹配(例如begins,ends, 或contains)某个字符串的元素。但是你怎么能返回元素本身,而不是True或False
l = ['ones', 'twos', 'threes']
wanted = 'three'
Run Code Online (Sandbox Code Playgroud)
在这里,链接问题中的方法将返回True使用:
any(s.startswith(wanted) for s in l)
Run Code Online (Sandbox Code Playgroud)
那么如何返回元素'threes'呢?
我有一个字符串列表,如下所示:
mylist = ['a', 'b', 'c', 'aa', 'bb', 'cc', 'aaa', 'bbb', 'ccc', 'aaaa', 'bbbb', 'cccc']
Run Code Online (Sandbox Code Playgroud)
我只需要提取 k=4 个字符的字符串,所以输出将是:
minlist = ['aaaa', 'bbbb', 'cccc']
Run Code Online (Sandbox Code Playgroud)
如何有效实施?