2013-07-25 208 views
2

如何从此列表元组中返回一个随机密钥值?我只关心返回'r','p'或's'的动作。从列表元组返回随机值

# Snippet 

moves = [('r', "rock"), ('p', "paper"), ('s', "scissors")] 

view_all(moves): 
    print "Player moves:" 
    for move in moves: 
     print " => ".join((move[0], move[1])) 

回答

3

使用random.choice

>>> import random 
>>> moves = [('r', "rock"), ('p', "paper"), ('s', "scissors")] 
>>> random.choice(moves) 
('s', 'scissors') 

如果只有元组的第一个值被通缉:

random.choice(moves)[0] 
+0

感谢您的文档的链接,我不太确定如何使用选择。为我节省了很少的头痛! – theGrayFox

+0

很高兴看到它有一些帮助。 ;) – zhangyangyu

1

使用random.choice

>>> import random 
>>> moves = [('r', "rock"), ('p', "paper"), ('s', "scissors")] 
>>> print random.choice(moves)[0] 
's' 
0
import random 
moves = [('r', "rock"), ('p', "paper"), ('s', "scissors")] 
move_keys = [ x[0] for x in moves ] 

print random.choice(move_keys) 
0

使用random模块。

random.choice(A)A[random.randint(0,len(A)-1)]