为什么jupyter笔记本会打印这样的输出?

问题描述 投票:0回答:1

在此输入图像描述 我使用了一个集合来为名称分配值。 jupyter笔记本给出了这个输出。谁能解释一下这个吗?

我期望输出为 {"aaa", "bbb", "ccc"}。 *names 是一个元组吗?

python set tuples jupyter
1个回答
0
投票

当您运行此指令时,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'}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.