Python 我不明白为什么

Python 我不明白为什么,python,Python,我正在尝试制作一个二进制转换器,我需要for按顺序读取列表,但我的问题是for不从末尾读取列表 二进制={128,64,32,16,8,4,2,1} 对于二进制形式的x: printx 我预计产出为: 128 64 32 16 8. 4. 2. 一, 但结果是: 128 32 64 2. 4. 1. 8. 十六, 有人能解释一下原因吗?这个答案假设您正在使用Python 当你和花括号一起使用时 {128, 64, 32, 16, 8, 4, 2, 1} 您定义了一个按设计无序的 如果您想要订购

我正在尝试制作一个二进制转换器,我需要for按顺序读取列表,但我的问题是for不从末尾读取列表

二进制={128,64,32,16,8,4,2,1} 对于二进制形式的x: printx 我预计产出为: 128 64 32 16 8. 4. 2. 一,

但结果是: 128 32 64 2. 4. 1. 8. 十六,


有人能解释一下原因吗?

这个答案假设您正在使用Python

当你和花括号一起使用时

{128, 64, 32, 16, 8, 4, 2, 1}
您定义了一个按设计无序的

如果您想要订购,可以将其与括号一起使用

[128, 64, 32, 16, 8, 4, 2, 1]

相反。

或者,您可以指定在排序集上循环:

binary = {128,64,32,16,8,4,2,1}

for x in sorted(binary, reverse=True):
    print(x)

将从集合中创建有序列表;集合本身是无序的。

集合没有顺序。你想要数组列表吗?binary=[128,64,32,16,8,4,2,1]非常感谢它的帮助,我还在学习python,并且已经切换了{}和[]