python - 如何获取一个列表并以随机顺序打印所有内容,并在 python 中打印每个内容一次?

标签 python python-2.7 for-loop random

这就是我所拥有的:

>>> import random
>>> chars = [1, 6, 7, 8, 5.6, 3]
>>> for k in range(1, len(chars)+1):
...   print random.choice(chars)
...   chars[random.choice(chars)] = ''
...

但是当我运行它时,

5.6
1

5.6

8
>>> 

我不希望它打印每个内容的随机数量,我希望它以随机顺序打印所有内容一次。为什么它打印空格?

最佳答案

试试这个:

import random
chars = [1, 6, 7, 8, 5.6, 3]
r = chars [:] #make a copy in order to leave chars untouched
random.shuffle (r) #shuffles r in place
print (r)

关于python - 如何获取一个列表并以随机顺序打印所有内容,并在 python 中打印每个内容一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583794/

相关文章:

c++ - 从 DataGridView 获取值到二维数组

python - 我想生成连续的日期

python - 计算不同输入参数值的函数调用次数

python - 为内部 Web 服务器(从窗口到 Linux)设置 Django,我究竟需要安装什么?

python - 对前十名结果进行排序

c++ - For 循环条件(整数 vector )。如何获取之前的值?

python - django - 无法使用同一用户多次保存模型

python - SUDS 或 SOAPpy : google app engine python

python - 是否可以使用 argparse 将正则表达式字符串作为参数传递给 Python CLI 工具?

c# - for循环背后的逻辑