ランダムに選択したリストから何かを削除する場合は、変数名を付ける必要はありません。 リストオブジェクト自体はとなります。言い換えれば
は、ちょうど
random.choice()
があなたに与え、その結果から選択した番号を削除します。
picked_list = random.choice(d)
picked = random.choice(picked_list)
picked_list.remove(picked)
あなたが名前のいくつかの種類を持っている必要がある場合は、入力リストの別の変数を使用しないでください。辞書を使用します。
lists = {
'a': [1, 2, 3],
'b': [1, 2, 3],
'c': [1, 2, 3],
}
list_picked = random.choice(lists) # returns 'a', 'b', or 'c'
picked = random.choice(lists[list_picked])
lists[list_picked].remove(picked)
注ちょうどあなたのリストをシャッフルする方が効率的だろうとアップフロント(ランダムな順序でそれらを置く)あなたがそれらを必要とし、要素をポップ:
d = [a, b, c]
for sublist in d:
random.shuffle(sublist)
# later on
picked = random.choice(d).pop() # remove the last element
が空の場合はのリストがあることを意味するものを理解する必要があります。
したがって、 'random.choice()'があなたに与えたリストオブジェクトから直接ポップするだけです。変数名は必要なく、リストオブジェクトだけが必要です。 –