这段代码返回True。
a = [('e', 4), ('r', 2), (' ', 2), ('h', 2), ('A', 1), ('t', 1), ('y', 1)]
print(('e', 4) in a) # True
如果我不知道'e'后面的数字,我该如何检查那个字母是否在列表中
print(('e',) in a) # False
'e'
。a = [('e', 4), ('r', 2), (' ', 2), ('h', 2), ('A', 1), ('t', 1), ('y', 1)]
print(any(tup[0] == 'e' for tup in a))
这将会得到:
True
list
转换为dict
:a = [('e', 4), ('r', 2), (' ', 2), ('h', 2), ('A', 1), ('t', 1), ('y', 1)]
b = dict(a)
print(('e', 4) in a)
print('e' in b)
输出两次 True
。
这段代码利用了一个 dict
,它可以直接取一个list
中的一组tuples
作为输入,把每个tuple
的第一个元素变成key。然后你就可以在结果dict
中快速查找key。
dict
而不是元组列表可能更有意义,但只是为了让in
工作而转换为dict
是否合适呢? - tobias_ke
是否出现在结果列表中。a = [('e', 4), ('r', 2), (' ', 2), ('h', 2), ('A', 1), ('t', 1), ('y', 1)]
print('e' in [e[0] for e in a])
# True
any(letter == 'e' for letter, _ in a)
- Azat Ibrakov