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。