Столкнулся с интересным поведением Python в случае использования функций random.choice и random.sample
Дело в том, что у меня не все ключи состоят из одного символа, некоторые содержат произвольное количество символов.
Привожу код, для иллюстрации.
import random
some_tuple = (['abc',1], ['burdamoden',2], ['cologne',3], ['directory',4], ['eleven',5], ['flourish',6])
value_one = random.sample(some_tuple,1)
print value_one
print 'Key name is', value_one[0][0]
print 'Key value is', value_one[0][1]
Выводит
[['flourish', 6]]
>>>
Key name is flourish
Key value is 6
>>>
В то время как код
import random
some_tuple = (['abc',1], ['burdamoden',2], ['cologne',3], ['directory',4], ['eleven',5], ['flourish',6])
value_one = random.choice(some_tuple)
print value_one
print value_one[0][1]
print value_one[0][0]
Выводит
>>>
['burdamoden', 2]
Key name is b
Key value is u
>>>
То, есть, насколько я понимаю, random.sample и random.choice возвращают в первом случае массив, а во втором случае строку?