[英]Select a random element from an array
我試圖從我的數組中選擇一個隨機元素。
但是,有時我得到一個索引越界錯誤,即使我通過在索引的最大值加1來考慮從0開始的數組。
from random import randint
names = ['Sam', 'Paul', 'Mark', 'Simon', 'Sean', 'Samantha', 'Ellen']
random_name = names[randint(0, len(array)+1)]
print(random_name)
我有時只得到索引超出范圍的錯誤?
為什么不只是選擇?
import random
names = ['Sam', 'Paul', 'Mark', 'Simon', 'Sean', 'Samantha', 'Ellen']
random_name = random.choice(names)
print(random_name)
您需要從names
的長度中減去 1
,而不是添加 1
,因為在python中,列表的初始元素被賦予索引0
:
random_name = names[randint(0, len(names)-1)]
替代方案
但是,對於這種特殊情況,我認為使用random.choice會更合適,特別是因為您在使用它時根本不必擔心列表索引:
>>> import random
>>> names = ['Sam', 'Paul', 'Mark', 'Simon', 'Sean', 'Samantha', 'Ellen']
>>> random.choice(names)
'Mark'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.