Форум сайта python.su
-2
temp = domains.pop(random.random(0,len(domains)))
while True:
.
Офлайн
43
рандом же не берет аргументов, и причем тут он если нужен конец
domains[-1]
Офлайн
-2
sergeekты хоть знаешь что такое pop? мне надо чтоб цикл перебирал рандомно значения, а когда список станет пустым перешел дальше.
рандом же не берет аргументов, и причем тут он если нужен конец
Офлайн
568
Не горячитесь, на этом форуме знают, что такое pop, а Вы, судя по всему, слабо знакомы с питоном. То, чего Вы хотите выглядит странно и чужеродно.
Лично я не понимаю чего Вы хотите.
Офлайн
18
можно через
while domains:
temp = domains.pop(random.random(0,len(domains)))
Отредактировано adray (Ноя. 12, 2012 16:48:00)
Офлайн
19
Похоже автору нужен random.shuffle, только он не знает как об этом нам сказать.
Офлайн
43
ему нужен двойной оверхед - чтобы список во время итерирования без while рандомно самовыпиливался через pop:
for e in iter((lambda length: lambda :domains.pop(random.randint(0,next(length))))(reversed(range(len(domains)))),[]): print(e)
Офлайн
14
Автор не в курсе про класс сложности и не может сформулировать алгоритм.
Офлайн
-2
Член, как всегда не в тему.
cutwaterУвы shuffle 5 лямного списка это
Похоже автору нужен random.shuffle, только он не знает как об этом нам сказать.
FishHookЗапостил поздно ночью с просоня, суть вопроса была така есть список 5 лямов надо перебрать его рандомно но хочеться красиво, а не топорно sergeek подсказал, но увы к этому моменту я понял что randit, каждый раз это будет нериально долго.
Не горячитесь, на этом форуме знают, что такое pop, а Вы, судя по всему, слабо знакомы с питоном. То, чего Вы хотите выглядит странно и чужеродно.Лично я не понимаю чего Вы хотите.
temps=sample(xrange(len(domains))) for temp in temps: print domains[temp]+request
sergeekКстати да, только сейчас понял о чем вы, извините за грубость.
рандом же не берет аргументов, и причем тут он если нужен конец
Отредактировано FishHook (Ноя. 14, 2012 04:47:38)
Офлайн
18
Насчет быстрее:
In [11]: l = list(map(str, range(100000))) In [12]: %timeit random.shuffle(l) 10 loops, best of 3: 144 ms per loop In [13]: x = xrange(100000) In [14]: %timeit random.sample(x,100000) 10 loops, best of 3: 159 ms per loop
Офлайн