2017-03-09 2 views
0

Wenn ich versuchte, zwei Zufallszahlen aus Listen von Listen zu generieren, und die zwei Zufallszahlen aus zwei verschiedenen Listen in einer Liste sein sollten, bekam ich zwei Elemente aus derselben Liste in Listenlisten.Wie bekomme ich zwei Zufallszahlen aus einer Liste?

Beispiel:

list1 = [[1,2,],[3,4],[5,6]] 
import random 
random.choice(random.sample(l,2)) 
output = [5, 6] 

und

for random.sample(random.choice(l),2) 
output = [2, 1] 

Antwort

0

Ich habe nicht wirklich verstehen, was Sie, gefragt, aber wenn Sie möchten, ein zufälliges Element aus der Liste der Listen,

>>> import random 
>>> from itertools import chain 
>>> list1 = [[1,2,],[3,4],[5,6]] 
>>> random.choice(list(chain.from_iterable(list1))) 
4 
>>> random.choice(list(chain.from_iterable(list1))) 
3 
>>> random.choice(list(chain.from_iterable(list1))) 
1 

Was chain.from_iterable(iterable) tut ist, die Liste der Listen zu flatten.

>>> list(chain.from_iterable(list1)) 
[1, 2, 3, 4, 5, 6] 

https://docs.python.org/2/library/itertools.html#itertools.chain.from_iterable

Verwandte Themen