У меня сложилось впечатление, что set () будет заказывать коллекцию так же, как .sort ()
Однако кажется, что это не так, для меня было характерным то, почему он переупорядочил коллекцию.
>>> h = '321'
>>> set(h)
set(['1', '3', '2'])
>>> h
'321'
>>> h = '22311'
>>> set(h)
set(['1', '3', '2'])
почему он не возвращает set (['1', '2', '3']). Мне также кажется, что независимо от того, сколько экземпляров каждого числа я использую или в каком порядке я их использую, он всегда возвращает set (['1', '3', '2']). Почему?
Edit:
Итак, я прочитал ваши ответы, и вот мой счетчик:
>>> l = [1,2,3,3]
>>> set(l)
set([1, 2, 3])
>>> l = [3,3,2,3,1,1,3,2,3]
>>> set(l)
set([1, 2, 3])
Почему он заказывает числа, а не строки?
Также
import random
l = []
for itr in xrange(101):
l.append(random.randint(1,101))
print set(l)
Выходы
>>>
set([1, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 18, 19, 23, 24, 25, 26, 29, 30, 31, 32, 34, 40, 43, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 69, 70, 74, 75, 77, 79, 80, 83, 84, 85, 87, 88, 89, 90, 93, 94, 96, 97, 99, 101])