0
import random
def iterate_thru_list():
   i = 0  
   L1 = [1,2,3,4,5,6,7,8,9]
   L2=['a','b','c','d','e','f','g','h','i']
   L3= ['A','B','C','D','E','F','G','H','I']
   random.shuffle(L1)
   random.shuffle(L2)
   random.shuffle(L3)


   print ("List:")
   while i <= 5:
      for x, y, z in [(x,y,z) for x in L1 for y in L2 for z in L3]:
         print(x,y,z)
   i = i + 1

それぞれからランダムに選択された数字または文字を返す個別のリストを反復処理し、この場合は 3 つの一意の文字または数字の「セット」を返します。while ループが機能しないことに注意してください。これは、すべての組み合わせが返されるまでループしますが、これもわかりません。x、y、z を返すために random.choice(L1 or L2 or L3) を使用できますか? 複数のリストからランダムな選択を返す別の簡単な方法はありますか? ご協力ありがとうございました

4

1 に答える 1

4

何かのようなもの?

L1 = [1,2,3,4,5,6,7,8,9]
L2 = ['a','b','c','d','e','f','g','h','i']
L3 = ['A','B','C','D','E','F','G','H','I']

from random import choice

for i in range(5):
    print list(map(choice, (L1, L2, L3)))

[4, 'h', 'A']
[7, 'b', 'G']
[3, 'c', 'C']
[6, 'f', 'H']
[5, 'b', 'A']
于 2013-01-30T16:06:46.357 に答える