[英]Use of index [0] in random.choices()
在random.choices()
中使用[0]
的目的是什么? 在下面的示例代碼中, [0]
是否引用Lists
或其子列表的索引? 如果使用[0]
,則從列表中獲得單個隨機詞,這是期望的結果,但是如果省略[0]
,它將給出具有其所有元素的隨機子列表。
為什么在兩種情況下給出不同的結果?
如果我嘗試用[1]
而不是[0]
,代碼將給出
索引錯誤:索引超出范圍
但是,如果我使用[0]
或[-1]
,代碼將提供所需的結果。
import random
Animals = ["Cat", "Dog", "Lion", "Tiger", "Elephant"]
Fruits = ["Apple", "Orange", "Banana", "Mango", "Pineapple"]
Vegetables = ["Tomato", "Potato", "Onion", "Brinjal", "Peas"]
Lists = [Animals, Fruits, Vegetables]
word = random.choice(random.choices(Lists)[0])
print(word)
您使用的是random.choices
而不是random.choice
,它返回一個列表,其中包含單個元素而不是元素本身。 看這里:
In [3]: random.choices("abc")
Out[3]: ['a']
In [4]: random.choice("abc")
Out[4]: 'b'
調用[0]
會返回該元素,而[1]
超出范圍是因為只有一個元素。 您可能想使用random.choice
(不帶s),對嗎?
順便說一句, random.choices
是Python 3.6+。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.