相关疑难解决方法(0)

570
推荐指数
5
解决办法
24万
查看次数

如何检查列表中是否有以下项目之一?

我试图找到一个简短的方法来查看列表中是否有以下任何项目,但我的第一次尝试不起作用.除了编写一个完成此功能的函数之外,还有一种简短的方法可以检查列表中是否存在多个项目之一.

>>> a = [2,3,4]
>>> print (1 or 2) in a
False
>>> print (2 or 1) in a
True
Run Code Online (Sandbox Code Playgroud)

python

203
推荐指数
9
解决办法
35万
查看次数

如何检查列表的所有元素是否与条件匹配?

我有一个包含20000个列表的列表.我使用每个列表的第3个元素作为标志.我希望在此列表上执行一些操作,只要至少有一个元素的标志为0,它就像:

my_list = [["a", "b", 0], ["c", "d", 0], ["e", "f", 0], .....]
Run Code Online (Sandbox Code Playgroud)

在开始时,所有标志都是0.我使用while循环来检查至少一个元素的标志是否为0:

def check(list_):
    for item in list_:
        if item[2] == 0:
            return True
    return False
Run Code Online (Sandbox Code Playgroud)

如果check(my_list)返回True,那么我继续处理我的列表:

while check(my_list):
    for item in my_list:
        if condition:
            item[2] = 1
        else:
            do_sth()
Run Code Online (Sandbox Code Playgroud)

实际上,当我迭代它时,我想删除my_list中的一个元素,但是当我迭代它时,我不允许删除项目.

原始的my_list没有标志:

my_list = [["a", "b"], ["c", "d"], ["e", "f"], .....]
Run Code Online (Sandbox Code Playgroud)

因为我迭代它时无法删除元素,所以我发明了这些标志.但是它my_list包含很多项,并且while循环在每个for循环中读取所有项,并且它会消耗大量时间!你有什么建议吗?

python for-loop list while-loop

188
推荐指数
3
解决办法
26万
查看次数

Pythonic方法检查条件是否适用于列表的任何元素

我有一个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中执行此操作?

python list

100
推荐指数
3
解决办法
9万
查看次数

Python:看看一个集合是否完全包含另一个集合?

有没有快速的方法来检查一个集合是否完全包含另一个集合?

就像是:

>>>[1, 2, 3].containsAll([2, 1])
True

>>>[1, 2, 3].containsAll([3, 5, 9])
False
Run Code Online (Sandbox Code Playgroud)

python set

71
推荐指数
5
解决办法
4万
查看次数

测试所有值是否以pythonic方式迭代

我目前正在这样做:

if x in a and y in a and z in a and q in a and r in a and s in a:
    print b
Run Code Online (Sandbox Code Playgroud)

是否有更多的pythonic方式来表达这种if说法?

python if-statement

23
推荐指数
3
解决办法
593
查看次数

如何检查列表中的所有项目是否都在另一个列表中?

我有两个名单说

List1 = ['a','c','c']
List2 = ['x','b','a','x','c','y','c']
Run Code Online (Sandbox Code Playgroud)

现在我想知道List2中是否存在List1的所有元素.在这种情况下,所有的都有.我不能使用子集函数,因为我可以在列表中重复元素.我可以使用for循环来计算List1中每个项目的出现次数,并查看它是否小于或等于List2中出现的次数.有一个更好的方法吗?

谢谢.

python

21
推荐指数
2
解决办法
3万
查看次数

如何确定一个列表中的元素是否在另一个列表中?

我有两个清单:

A = [[2, 5, 13, 14], [4, 5, 10, 12], [2, 9, 10, 11], [2, 5, 12, 13], [4, 5, 6, 12]]
B = [12, 5]
Run Code Online (Sandbox Code Playgroud)

我试图找出A中哪些列表包含B中的元素(顺序无关紧要)并删除其余列表.

在这种情况下,答案是:

[[4, 5, 10, 12], [2, 5, 12, 13], [4, 5, 6, 12]]
Run Code Online (Sandbox Code Playgroud)

如果我们改变B并制作它B = [13],答案是:

[[2, 5, 13, 14], [2, 5, 12, 13]]
Run Code Online (Sandbox Code Playgroud)

python list elements

9
推荐指数
1
解决办法
182
查看次数

使用一个"in"语句测试多个对象是否在列表中(Python)

可能重复:
Python检查列表中是否包含以下所有项目

所以我想测试word和word1是否都在列表中.当然,我可以写:

if word in lst and word1 in lst:
    do x
Run Code Online (Sandbox Code Playgroud)

但我想知道我是否可以将该陈述缩短为:

if (word and word1) in lst:
    do x
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,但有什么有效的相似之处呢?

我尝试了以下内容,但正如您所看到的,它不会产生预期的结果.

>>> word in lst
True
>>> word1 in lst
True
>>> (word, word1) in lst
False
Run Code Online (Sandbox Code Playgroud)

编辑:谢谢你的答案,我想我现在已经很清楚如何做到这一点.

python conditional-operator python-3.x

8
推荐指数
2
解决办法
1万
查看次数