就是这个my_set不是集合吗,集合输出的符号不是{}吗,为什么它输出的符号是这个【】(T_T)
你最后使用 sorted 排序时就会把集合转化为列表了。
python里的集合是无序的,所以无法按元素顺序输出。
改成my_set = set({}) 你用的是list
不知道你这个问题是否已经解决, 如果还没有解决的话:集合的输出符号是与输出的方式有关的,如果是使用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()函数输出,需要将集合转化为字符串形式。同时,需要注意集合的定义方式,不要使用空{}作为集合的定义方式。