とのランダムなサンプルを取得します。私はこのリストを持って、交換
これを実行すると、唯一の任意の繰り返し文字私に4通のユニークな手紙を与えませんが、決してます:
print(random.sample(colors,4))
は、私は可能な文字を繰り返すことで、4色のリストを取得するにはどうすればよいですか?
とのランダムなサンプルを取得します。私はこのリストを持って、交換
これを実行すると、唯一の任意の繰り返し文字私に4通のユニークな手紙を与えませんが、決してます:
print(random.sample(colors,4))
は、私は可能な文字を繰り返すことで、4色のリストを取得するにはどうすればよいですか?
はnumpy.random.choice
(documentation numpy-v1.13)を試してみてください:random.choice
で
import numpy as np
n = 10 #size of the sample you want
print(np.random.choice(colors,n))
:
print([random.choice(colors) for _ in colors])
必要な値の数がrange
を使用し、その後、リスト内の値の数に対応していない場合:
print([random.choice(colors) for _ in range(7)])
投稿者:Python 3.6 onwaまた、random.choices
(複数)を使用して、必要な値の数をk引数として指定することもできます。
このコードを入力すると、必要な結果が得られます。あなたと他のユーザーがプロセスに従うのを助けるために、各行にコメントを追加しました。お気軽に質問してください。
import random
colours = ["R", "G", "B", "Y"] # The list of colours to choose from
output_Colours = [] # A empty list to append results to
Number_Of_Letters = 4 # Allows the code to easily be updated
for i in range(Number_Of_Letters): # A loop to repeat the generation of colour
output_Colours.append(random.sample(colours,1)) # append and generate a colour from the list
print (output_Colours)
のPython 3.6では、新しいrandom.choices()関数が直接問題に対処します:
>>> from random import choices
>>> colors = ["R", "G", "B", "Y"]
>>> choices(colors, k=4)
['G', 'R', 'G', 'Y']