我试图找到一个简短的方法来查看列表中是否有以下任何项目,但我的第一次尝试不起作用.除了编写一个完成此功能的函数之外,还有一种简短的方法可以检查列表中是否存在多个项目之一.
>>> a = [2,3,4]
>>> print (1 or 2) in a
False
>>> print (2 or 1) in a
True
Run Code Online (Sandbox Code Playgroud) 我想了解如何any()与all()Python的内置函数的工作.
我试图比较元组,以便如果任何值不同,那么它将返回True,如果它们都是相同的,它将返回False.他们如何在这种情况下返回[False,False,False]?
d是一个defaultdict(list).
print d['Drd2']
# [[1, 5, 0], [1, 6, 0]]
print list(zip(*d['Drd2']))
# [(1, 1), (5, 6), (0, 0)]
print [any(x) and not all(x) for x in zip(*d['Drd2'])]
# [False, False, False]
Run Code Online (Sandbox Code Playgroud)
据我所知,这应该输出
# [False, True, False]
Run Code Online (Sandbox Code Playgroud)
因为(1,1)是相同的,(5,6)是不同的,并且(0,0)是相同的.
为什么所有元组的评估为False?
我有一个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中执行此操作?
我发现,有一个相关的问题,关于如何查找列表中是否存在至少一个项目:
如何检查下列项目之一是否在列表中?
但是,查找列表中是否存在所有项目的最佳和pythonic方法是什么?
通过文档搜索,我找到了这个解决方案:
>>> l = ['a', 'b', 'c']
>>> set(['a', 'b']) <= set(l)
True
>>> set(['a', 'x']) <= set(l)
False
Run Code Online (Sandbox Code Playgroud)
其他解决方案是:
>>> l = ['a', 'b', 'c']
>>> all(x in l for x in ['a', 'b'])
True
>>> all(x in l for x in ['a', 'x'])
False
Run Code Online (Sandbox Code Playgroud)
但在这里你必须做更多的打字.
还有其他解决方案吗?
我有这段代码:
numbers = range(1, 50)
for i in numbers:
if i < 20:
numbers.remove(i)
print(numbers)
Run Code Online (Sandbox Code Playgroud)
但我得到的结果是:
[2,4,6,8,10,12,14,16,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35 ,36,37,38,39,40,41,42,43,44,45,46,47,48,49]
当然我希望结果中没有出现20以下的数字,我假设我在删除时做错了.
您能否尽可能简单地解释deMorgan规则(例如,对于只有中学数学背景的人)?
我想知道我们是否可以断言列表中的所有元素都不是None,因此 whilea = None会引发错误。
样本清单是[a, b, c]
我已经尝试过了,如果任何一个元素不是,assert [a, b, c] is not None它就会返回,但不会验证所有元素。你能帮忙想一下吗?谢谢!!TrueNone
我这样做是这样的:
if ycoords[0] > 0 and ycoords[1] > 0 and ycoords[2] > 0:
# do stuff
Run Code Online (Sandbox Code Playgroud)
您可以通过执行以下操作来缩短此代码吗?
if (ycoords[0] and ycoords[1] and ycoords[2]) > 0:
# do stuff
Run Code Online (Sandbox Code Playgroud) 我的字典在下面
我在字典里面搜索下面的字典
test=[ { 'id': '1', 'name': 'A', 'businessArea': [ 'Accounting' ], 'Role': [ 'Developer' ], 'Designation': [ 'L2' ] }, { 'id': '2', 'name': 'B', 'businessArea': [ None ], 'Role': [ 'None' ], 'Designation': [ 'None' ] }, { 'id': '3', 'name': 'C', 'businessArea': [ 'Engineering' ], 'Role': [ 'Tester', 'Developer' ], 'Designation': [ 'L1' ] } ]
Run Code Online (Sandbox Code Playgroud)
我的代码在下面工作正常并且只返回一个
def contains(item, field, values):
if field:
item = item.get(field)
if item is None:
return None
if isinstance(item, str):
return item …Run Code Online (Sandbox Code Playgroud) 除了遍历嵌套循环并检查每个值是否等于 1 之外,最常用的 Python 方法是什么?