gpt4 book ai didi

python设置操作:the simple script does not output right set after unioning or disjoining?

转载 作者:行者123 更新时间:2023-11-30 23:02:30 26 4
gpt4 key购买 nike

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_tags 中的元素应该与 all_tags 中的元素相同。然而,结果是设置

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

union_tags 包含两个额外的元素“2”和“4”,我认为这是分割 str“24”的结果。同样,left_tags 应排除元素“24”。但是,结果仍然是“24”。

请告诉我原因。我使用 python 2.7 作为解释器。

最佳答案

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

{'2', '4'}

最后,该集合与 all_tags 的联合将包含项目 24

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

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

关于python设置操作:the simple script does not output right set after unioning or disjoining?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34461871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com