Python|从列表中选择随机值
生成随机数一直是游戏或各种类型赌博等日常编程中的有用工具。因此,任何编程语言中的知识和速记总是一个加分项。
让我们讨论从列表中选择随机值的所有不同方法。
方法 #1:使用random.choice()
此方法是为从容器中获取随机数的特定目的而设计的,因此是实现从列表中获取随机数这一任务的最常用方法。
# Python3 code to demonstrate
# to get random number from list
# using random.choice()
import random
# initializing list
test_list = [1, 4, 5, 2, 7]
# printing original list
print ("Original list is : " + str(test_list))
# using random.choice() to
# get a random number
random_num = random.choice(test_list)
# printing random number
print ("Random selected number is : " + str(random_num))
输出:
Original list is : [1, 4, 5, 2, 7]
Random selected number is : 1
方法 #2:使用random.randrange()
该方法用于生成一个范围内的随机数,对于列表,我们可以指定范围为0到它的长度,并得到索引,然后得到对应的值。这也提供了在某些倍数的索引处获取甚至放置的元素或元素的选项。
# Python3 code to demonstrate
# to get random number from list
# using random.randrange
import random
# initializing list
test_list = [1, 4, 5, 2, 7]
# printing original list
print ("Original list is : " + str(test_list))
# using random.randrange() to
# get a random number
rand_idx = random.randrange(len(test_list))
random_num = test_list[rand_idx]
# printing random number
print ("Random selected number is : " + str(random_num))
输出:
Original list is : [1, 4, 5, 2, 7]
Random selected number is : 7
方法 #3:使用random.randint()
还有另一种生成随机数的方法,这也可以用于生成一个范围内的任何数字,然后使用该数字索引,我们可以找到相应索引处的值,就像上面提到的技术一样。但它的不同之处在于它需要 2 个强制参数来表示范围。
# Python3 code to demonstrate
# to get random number from list
# using random.randint()
import random
# initializing list
test_list = [1, 4, 5, 2, 7]
# printing original list
print ("Original list is : " + str(test_list))
# using random.randint() to
# get a random number
rand_idx = random.randint(0, len(test_list)-1)
random_num = test_list[rand_idx]
# printing random number
print ("Random selected number is : " + str(random_num))
输出:
Original list is : [1, 4, 5, 2, 7]
Random selected number is : 4
方法 #4:使用random.random()
该方法生成0到1范围内的浮点数。我们也可以使用此函数将结果相乘然后类型转换为int得到整数索引,然后得到对应的列表值。
# Python3 code to demonstrate
# to get random number from list
# using random.random()
import random
# initializing list
test_list = [1, 4, 5, 2, 7]
# printing original list
print ("Original list is : " + str(test_list))
# using random.random() to
# get a random number
rand_idx = int(random.random() * len(test_list))
random_num = test_list[rand_idx]
# printing random number
print ("Random selected number is : " + str(random_num))
输出:
Original list is : [1, 4, 5, 2, 7]
Random selected number is : 7