如何按顺序迭代一组不相等的整数?

How to iterate over a set of unequal integers in order?

在下面的例子中,How to iterate over a list of integers?

index_set = {2, 4, 5*5, 10*5, 15*5, 20*5, 30*5, 40*5, 45*5}
for index in index_set:
      ...
      print(index, end=',')
      ...

输出

225,2,4,100,200,75,50,150,25,

期望的输出

2,4,25,50,75,100,150,200,225

一些答案将问题更改为如何按顺序打印一组数字并删除循环。循环中除了整数的显示还有额外的处理。

我认为最简单的答案是将集合更改为列表,以便保持顺序。

不需要循环:

index_set = {2, 4, 5*5, 10*5, 15*5, 20*5, 30*5, 40*5, 45*5}
index_set = ", ".join([str(i) for i in sorted(index_set)])
print(index_set)

输出:

2, 4, 25, 50, 75, 100, 150, 200, 225

如果你只想对它进行排序,你可以使用 list 理解:

print(sorted([x for x in index_set]))

或者直接转换成list:

print(sorted(list(index_set)))

输出:

[2, 4, 25, 50, 75, 100, 150, 200, 225]

或者,使用与您类似的方法:

for index in sorted(index_set):
  print(index,end=', ')

输出:

2, 4, 25, 50, 75, 100, 150, 200, 225

尝试用排序函数包装您的 index_set:

for index in sorted(index_set):
      print(index, end=', ')