python集操作:简单脚本在合并或分离后不输出right set?

2024-04-16 20:09:30 发布

您现在位置:Python中文网/ 问答频道 /正文

all_tags   = ['24', '02', '26', '03', '33', '32', '31', '30', '29', '68', '11']
ref_tag    = str('24')
union_tags = set(all_tags) | set(ref_tag)
left_tags  = set(all_tags) - set(ref_tag)
print(union_tags)
print(left_tags)

上面是简单的代码,我希望union\u标记中的元素应该与所有\u标记中的元素相同。然而,结果是 套

(['24', '02', '26', '03', '33', '32', '31', '30', '29', '68', '2', '4', '11']) 

union_标记包含两个额外的元素'2'和'4',我认为这是拆分str'24'的结果。 同样,左\u标记应该排除元素“24”。但是,结果仍然有“24”。你知道吗

请告诉我原因。我使用python2.7作为解释器。你知道吗


Tags: 代码标记ref元素tagtags原因all
1条回答
网友
1楼 · 发布于 2024-04-16 20:09:30

Set函数接受一个带有可哈希项的iterable并将其转换为Set对象,由于字符串是iterable,因此当您将字符串24传递给Set函数时,它会将字符串转换为以下集合:

{'2', '4'}

最后这个集的unioin和all_tags将包含24项。你知道吗

如果要将24作为一个项目放入集合中,可以使用{}来创建预期的集合:

>>> ref_tag = {'24'}
set(['24'])

相关问题 更多 >