以随机顺序打印单词列表 - Python

dan*_*n04 2 python list

我有一个项目要从一本作为圣诞礼物收到的书中完成(Python编程为绝对初学者,第三版):

创建一个以随机顺序打印单词列表的程序.该程序应打印所有单词,不重复任何单词.

我创建了以下代码:

import random

words = ["Please", "Help", "Me", "Merry", "Christmas"]

for i in range(len(words)):
    random_index = random.randrange(len(words))
    print(words[random_index])
    del words[random_index]
Run Code Online (Sandbox Code Playgroud)

我想检查这段代码是否是最有效的方式,但是没有论坛可以检查,而是令人沮丧!

有没有更好的方法呢?干杯

fal*_*tru 8

如何使用random.sample:

>>> import random
>>> words = ["Please", "Help", "Me", "Merry", "Christmas"]
>>> random.sample(words, len(words))
['Merry', 'Me', 'Help', 'Please', 'Christmas']
Run Code Online (Sandbox Code Playgroud)

或者random.shuffle如果可以修改原始列表:

>>> random.shuffle(words)
>>> words
['Me', 'Merry', 'Help', 'Please', 'Christmas']
Run Code Online (Sandbox Code Playgroud)