Форум сайта python.su
0
nums = {i for i in range(1, 51)}
for i in range(10):
for j in range(5):
print("{: >3}".format(str(nums.pop())), end="")
print()Отредактировано (Авг. 16, 2011 05:02:07)
Офлайн
7
Это случайность.
nums = set('abcdefgh')
while nums:
print( nums.pop() )
nums = {i for i in range(100000,10000)}
while nums: print( nums.pop() )Отредактировано (Авг. 16, 2011 05:35:07)
Офлайн
16
По всей видимости pop() реализован так, что удаляет и возвращает первый элемент в множестве. А т.к. элементы в множестве хранятся в произвольном порядке(вернее так, как удобнее интерпретатору для выполнения других операций), то и в доках написано что будет возвращен произвольный элемент.
Числа удобно хранить в порядке возрастания.
L = [randrange(1, 100) for i in range(100)]
print('list: ', L)
S = set(L)
print('set: ', S)
Офлайн