简洁语法
在 Python 解释器上实验时,我发现了一种非常易读的语法。
>>> my_list = [1, 2, 3, 4, 5]
>>> (6 or 7) in my_list
False
>>> (2 or 6) in my_list
True
>>> (2 and 6) in my_list
False
>>> (2 and 5) in my_list
True
搜索项列表
如果您有一个长的对象列表需要搜索,保存在sub_list
变量中:
>>> my_list = [1, 2, 3, 4, 5]
>>> sub_list = ['x', 'y']
如果超集合中包含任何(至少一个)项(使用“或”语句):
>>> next((True for item in sub_list if next((True for x in my_list if x == item), False)), False)
False
>>> sub_list[0] = 3
>>> next((True for item in sub_list if next((True for x in my_list if x == item), False)), False)
True
如果所有项目都包含在超集中(使用
and
语句),那么
sub_list
是完全子集。还涉及一点
德摩根定律:
>>> next((False for item in sub_list if item not in my_list), True)
False
>>> sub_list[1] = 2
>>> next((False for item in sub_list if item not in my_list), True)
True
>>> next((True for item in sub_list if next((True for x in my_list if x == item), False)), False)
True
set(smaller) <= set(larger)
有什么问题? - eumiro