Поэтому я перетасовываю список, прежде чем разбить его. это список чисел, считанных из файла, поэтому список на самом деле является списком строк, но это числа:
streams = ['0','1','2','3','4','5','6','7','8','9']
теперь, код, который я запускаю, просто перетасовывает список:
print(streams, type(streams[0]))
import random
random.shuffle(streams)
Кстати, я использую Python 3.6.4. Вот ошибка, которую я получаю:
C:\src>python cli.py
0,1,2,3,4,5,6,7,8,9
<class 'str'>
Traceback (most recent call last):
...
File "....py", line 3, in split_randomized_list
random.shuffle(streams)
File "C:\ProgramData\Anaconda3\lib\random.py", line 275, in shuffle
x[i], x[j] = x[j], x[i]
TypeError: 'str' object does not support item assignment
Это говорит мне, что он не может перетасовывать списки, состоящие из чисел в строчном формате? Это правильно? Это ошибка, или я делаю это неправильно?
Другой способ:
streams = "0,1,2,3,4,5,6,7,8,9"
new_streams = streams.split(',')
import random
random.shuffle(new_streams)
print(new_streams)
Я думаю, что мне удалось реплицировать вашу ошибку, я поменял ваши потоки на список.
streams_old = "0,1,2,3,4,5,6,7,8,9"
streams = ['0','1','2','3','4','5','6','7','8','9']
print(streams, type(streams[0]))
import random
random.shuffle(streams)
streams = ['0','1','2','3','4','5','6','7','8','9']
в вашем вопросе ...