1、如何从列表中随机抽取一个元素?
from random import choice
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
print(choice(list1))
2、如何从列表中随机抽取若干个元素(无重复)?
法一:
from random import sample
list1 = [1, 2, 3, 4]
print(sample(list1, 3)) # 从列表list1中随机抽取3个无重复元素
注:这里的重复还是不重复指的是索引,而不是元素的值
法二:
from random import shuffle
list1 = [1, 2, 3, 4]
shuffle(list1)
list2 = []
for i in range(3):
list2.append(list1[i])
print(list2)
shuffle()函数:将序列的所有元素随机排序。该函数是对原序列进行操作,改变了原序列,它没有返回值
3、python3.x中都加入了函数参数注释功能:(在力扣网上List[int]可以用,在pycharm中不可以??)
def game(self, guess:List[int], answer:List[int])->int:
guess和answer后面的:List[int]说明guess和answer均是列表,且列表元素均是整型
->int说明函数的返回值是一个整型
4、
小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?
(我的方法)
class Solution:
def game(self, guess:List[int], answer:List[int])->int:
a = 0
for i in range(3):
if guess[i] == answer[i]:
a += 1
return a
其他方法:
class Solution:
def game(self, guess:List[int], answer:List[int])->int:
return (guess[0] == answer[0]) + (guess[1] == answer[1]) + (guess[2] == answer[2])
class Solution:
def game(self, guess:List[int], answer:List[int])->int:
return sum(guess[i] == answer[i] for i in range(3))
注:在python中,可以对布尔值进行加减法运算。这时True被看做1,False被看做0。
本文介绍Python中使用random模块进行列表元素随机抽取的方法,包括抽取单个元素、抽取多个无重复元素,并展示了如何利用这些技巧解决实际问题。同时,文章还探讨了Python 3.x的函数参数注释功能,提供了几种不同的实现方式来比较两个列表中对应位置元素的相等次数。
&spm=1001.2101.3001.5002&articleId=103262930&d=1&t=3&u=c0ed335bd21e4d9099bdb28e255bb0c4)
1182

被折叠的 条评论
为什么被折叠?



