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

Time:01-31

In the following example, the 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=',')
      ...

Output

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

Desired output

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

Some answers change the question to how to print a set of numbers in order and remove the loop. There is additional processing besides the display of the integer in the loop.

I believe the simplest answer is to change from a set to a list so order is kept.

CodePudding user response:

No need for the loop:

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)

Output:

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

CodePudding user response:

if you just want to sort it you can use list comprehension:

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

or convert it directly into a list:

print(sorted(list(index_set)))

output:

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

or, using a similar approach as you did:

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

output:

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

CodePudding user response:

try wrapping your index_set with the sorted function:

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