2013-07-25 3 views
2

Как я могу вернуть случайное значение ключа из этого списка? Меня беспокоит только возвращение «r», «p» или «s» из ходов.Возврат случайного значения из списка tuple

# 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)