tencentma 发表于 2022-8-29 12:19

python求助


本人新学python,对照教程敲代码,划线的地方我不太明白,print(a),为啥我操作的时候,啥也没显示?教程这里却返回{'b', 'c', 'a', 'r', 'd'}
是我错了,还是教程错了,求大神帮忙解答。感谢

hrpzcf 发表于 2022-8-29 12:28

本帖最后由 hrpzcf 于 2022-8-29 12:29 编辑

集合是无序的,你print出来的结果字母顺序可能和教程不一样,有5行就没错了。
ps:最好连你的代码和输出结果或者报错一起发出来,不然回答你的问题基本靠猜。

tencentma 发表于 2022-8-29 12:29

谢谢老铁,是我出错了,感谢。

88868 发表于 2022-8-29 12:30

momoki 发表于 2022-8-29 12:35

教程是对的,可能要检查下你的代码是否正确。最开始a已经用set()函数赋值了无序不重复元素集,set('abracadabra')后会删除重复的元素并返回一个不重复的集合{'b', 'c', 'a', 'r', 'd'}。a=set('abracadabra'),会通过=这个赋值运算符,将集合{'b', 'c', 'a', 'r', 'd'}赋值给a。所以print(a),会打印出{'b', 'c', 'a', 'r', 'd'}

laoda1228 发表于 2022-10-13 11:16

集合有默认去重功能。
a=set("abracadabra")
b=set("alacazam")   
print(a)#abrcd
print(b)#alczm
print(a-b)#brd
print(a|b)#abcdrlzm
print(a&b)#ac
print(a^b)# blrzdm


{'r', 'c', 'd', 'b', 'a'}
{'m', 'c', 'l', 'z', 'a'}
{'r', 'd', 'b'}
{'r', 'm', 'c', 'l', 'z', 'd', 'b', 'a'}
{'a', 'c'}
{'m', 'r', 'd', 'b', 'l', 'z'}
页: [1]
查看完整版本: python求助