我在用吗随机。随机这是错误的还是错误的?

2022-12-01 03:33:12 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我要在分拆前先把名单整理一下。它是一个从文件中读取的数字列表,所以这个列表实际上是一个字符串列表,但它们是数字:

streams = ['0','1','2','3','4','5','6','7','8','9']

现在,我运行的代码只是对列表进行洗牌:

print(streams, type(streams[0]))
import random
random.shuffle(streams)

顺便说一下,我正在使用python3.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

这对我说,它不能洗牌列表组成的数字在字符串格式?是这样吗?那是个错误还是我做错了?你知道吗


Tags: 字符串代码inpy列表错误line数字random整理streamsfileshuffle名单str
2条回答

另一种方法是:

streams = "0,1,2,3,4,5,6,7,8,9"
new_streams = streams.split(',')
import random
random.shuffle(new_streams)
print(new_streams)

我想我已经成功复制了你的bug,我已经把你的流变成了一个列表。你知道吗

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)