就是这个my_set不是集合吗,集合输出的符号不是{}吗,为什么它输出的符号是这个【】

就是这个my_set不是集合吗,集合输出的符号不是{}吗,为什么它输出的符号是这个【】(T_T)

img

你最后使用 sorted 排序时就会把集合转化为列表了。
python里的集合是无序的,所以无法按元素顺序输出。

改成my_set = set({}) 你用的是list

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    集合的输出符号是与输出的方式有关的,如果是使用print()函数输出集合,那么默认情况下会输出集合的列表形式,即用方括号【】来表示集合。如果想要输出花括号{}的形式,可以直接输出集合本身,不用使用print()函数。

    例如:

    my_set = {1, 2, 3}
    print(my_set) # 输出 [1, 2, 3]
    print({1, 2, 3}) # 输出 {1, 2, 3}
    

    如果使用print()函数输出,需要将集合转化为字符串形式,可以使用str()函数或者直接使用字符串格式化的方式。

    例如:

    my_set = {1, 2, 3}
    print(str(my_set)) # 输出 {1, 2, 3}
    print('{}'.format(my_set)) # 输出 {1, 2, 3}
    

    另外,如果想要在代码中输出花括号{}的集合,需要注意不要使用字典的定义方式,也就是不要使用key-value的形式。正确的集合定义方式为set()函数或者使用{},但是{}不可以为空,否则会被认为是空字典而不是集合。

    例如:

    my_set = set()
    print(my_set) # 输出 set()
    
    my_set = {}
    print(my_set) # 输出 {}
    
    my_set = {1, 2, 3}
    print(my_set) # 输出 {1, 2, 3}
    
    my_set = {}
    print(type(my_set)) # 输出 <class 'dict'>
    

    综上所述,如果想要输出花括号{}形式的集合,可以直接输出集合本身;如果使用print()函数输出,需要将集合转化为字符串形式。同时,需要注意集合的定义方式,不要使用空{}作为集合的定义方式。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^