在此输入图像描述 我使用了一个集合来为名称分配值。 jupyter笔记本给出了这个输出。谁能解释一下这个吗?
我期望输出为 {"aaa", "bbb", "ccc"}。 *names 是一个元组吗?
当您运行此指令时,Python 将创建一个集合对象。 Set 不保证保留元素的顺序
names = {'aaa','bbb','ccc', 'aaa'}
print (type(names)) # <class 'set'>
print(names) # {'ccc', 'bbb', 'aaa'}
因此,当您将集合转换为元组时,顺序会改变
tuple(names) # {'ccc', 'bbb', 'aaa'}
解决方案是将集合转换为列表并对列表进行排序:
f = list(names)
f.sort() # {'aaa', 'bbb', 'ccc'}