几乎我需要编写一个程序来检查列表是否有任何重复项,如果有,它会删除它们并返回一个新列表,其中包含未复制/删除的项目.这就是我所拥有的,但说实话,我不知道该怎么做.
def remove_duplicates():
t = ['a', 'b', 'c', 'd']
t2 = ['a', 'c', 'd']
for t in t2:
t.append(t.remove())
return t
Run Code Online (Sandbox Code Playgroud) 我试图找到一个简短的方法来查看列表中是否有以下任何项目,但我的第一次尝试不起作用.除了编写一个完成此功能的函数之外,还有一种简短的方法可以检查列表中是否存在多个项目之一.
>>> a = [2,3,4]
>>> print (1 or 2) in a
False
>>> print (2 or 1) in a
True
Run Code Online (Sandbox Code Playgroud) 我有这样的事情:
extensionsToCheck = ['.pdf', '.doc', '.xls']
for extension in extensionsToCheck:
if extension in url_string:
print(url_string)
Run Code Online (Sandbox Code Playgroud)
我想知道在python中更优雅的方式是什么(不使用for循环)?我在考虑这样的事情(比如来自c/c ++),但它不起作用:
if ('.pdf' or '.doc' or '.xls') in url_string:
print(url_string)
Run Code Online (Sandbox Code Playgroud)
编辑:我有点不得不解释这与下面的问题有什么不同,后者被标记为潜在的重复(所以它不会被关闭我猜).
区别在于,我想检查字符串是否是某些字符串列表的一部分,而另一个问题是检查字符串列表中的字符串是否是另一个字符串的子字符串.当你在线寻找答案时,类似但不完全相同的事物和语义很重要.这两个问题实际上是在寻求解决彼此相反的问题.两者的解决方案结果都是相同的.
我可以在python中做这样的事情:
l = ['one', 'two', 'three']
if 'some word' in l:
...
Run Code Online (Sandbox Code Playgroud)
这将检查列表中是否存在"某个单词".但我可以做反向的事情吗?
l = ['one', 'two', 'three']
if l in 'some one long two phrase three':
...
Run Code Online (Sandbox Code Playgroud)
我必须检查数组中的某些单词是否在字符串中.我可以使用循环来做这个,但这种方式有更多的代码行.
我有一个Python列表,我想检查是否有任何元素是否定的.Specman有has()列表的方法:
x: list of uint;
if (x.has(it < 0)) {
// do something
};
Run Code Online (Sandbox Code Playgroud)
itSpecman关键字在哪里依次映射到列表的每个元素.
我觉得这很优雅.我查看了Python文档,找不到类似的东西.我能想到的最好的是:
if (True in [t < 0 for t in x]):
# do something
Run Code Online (Sandbox Code Playgroud)
我发现这相当不优雅.有没有更好的方法在Python中执行此操作?
可能重复:
检查另一个字符串中是否存在多个字符串
我试图找出是否有一个很好的和干净的方式来测试3个不同的字符串.
基本上我是使用循环循环一个文件for; 然后我必须检查它是否包含我在列表中设置的3个字符串中的1个.
到目前为止,我已经找到了多个if条件检查,但它感觉不是真的优雅和高效:
for line in file
if "string1" in line or "string2" in line or "string3" in line:
print "found the string"
Run Code Online (Sandbox Code Playgroud)
我在想,如创建一个包含列表string1,string2和string3,并检查是否这些被包含在该行,但它似乎并不认为我可以比较列表,而无需显式循环槽列表,在这种情况下,我基本上与我在上面写的多个if语句中的条件相同.
是否有任何智能方法可以检查多个字符串而无需编写long if语句或循环通过列表的元素?
我正在尝试将一个被调用的字符串facility与多个可能的字符串进行比较来测试它是否有效.有效字符串是:
auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, ... , local7
Run Code Online (Sandbox Code Playgroud)
有没有一种有效的方法来做到这一点:
if facility == "auth" or facility == "authpriv" ...
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用python进行匹配.
我有一个字符串列表(len~3000)和一个文件,我想检查文件中的每一行是否至少有一个列表中的字符串.
最直接的方法是逐个检查,但需要时间(不过很长时间).
有没有办法可以更快地搜索?
例如:
list = ["aq", "bs", "ce"]
if the line is "aqwerqwerqwer" -> true (since has "aq" in it)
if the line is "qweqweqwe" -> false (has none of "aq", "bs" or "ce")
Run Code Online (Sandbox Code Playgroud) python ×10
list ×5
string ×3
algorithm ×1
duplicates ×1
if-statement ×1
intersection ×1
match ×1
substring ×1
ubuntu ×1