2024-04-19 20:04:26 发布
网友
如果我有两个相同的元组:
>>> e = ('a', 1) >>> c = ('a', 1) >>> e == c True >>> hash(e) 9135824190991152417 >>> hash(c) 9135824190991152417
但令我惊讶的是:
>>> se = set(c) >>> e in se False
如何使用集合检查元组是否在其中
如您所见,e不是se的元素,因此in返回false
e
se
in
se = {'a', 1} e = ('a', 1)
由于^{}接受一个iterable,并使用其值填充其结构,因此不能像这样传递元组、使用{}语法或给出包含元组的列表(或元组)
{}
# {('a', 1)} se = {c} se = set((c,)) se = set([c])
在您的示例中se = {'a', 1}不是{('a',1)},因此得到false。要创建我认为需要的元组集,请使用set([c,])或{c}
se = {'a', 1}
{('a',1)}
set([c,])
{c}
如您所见,
e
不是se
的元素,因此in
返回false由于^{} 接受一个iterable,并使用其值填充其结构,因此不能像这样传递元组、使用
{}
语法或给出包含元组的列表(或元组)在您的示例中
se = {'a', 1}
不是{('a',1)}
,因此得到false。要创建我认为需要的元组集,请使用set([c,])
或{c}
相关问题 更多 >
编程相关推荐