在这段代码中,_after 的含义是什么for?
if tbh.bag:
n = 0
for _ in tbh.bag.atom_set():
n += 1
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) 我有一个包含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列表,我想检查是否有任何元素是否定的.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中执行此操作?
有没有快速的方法来检查一个集合是否完全包含另一个集合?
就像是:
>>>[1, 2, 3].containsAll([2, 1])
True
>>>[1, 2, 3].containsAll([3, 5, 9])
False
Run Code Online (Sandbox Code Playgroud) 我目前正在这样做:
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说法?
我有两个名单说
List1 = ['a','c','c']
List2 = ['x','b','a','x','c','y','c']
Run Code Online (Sandbox Code Playgroud)
现在我想知道List2中是否存在List1的所有元素.在这种情况下,所有的都有.我不能使用子集函数,因为我可以在列表中重复元素.我可以使用for循环来计算List1中每个项目的出现次数,并查看它是否小于或等于List2中出现的次数.有一个更好的方法吗?
谢谢.
我有两个清单:
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检查列表中是否包含以下所有项目
所以我想测试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 ×9
list ×3
elements ×1
for-loop ×1
if-statement ×1
python-3.x ×1
set ×1
variables ×1
while-loop ×1