如何从10×10的对象列表中随机选取一个对象?
从10×10二维列表中随机选取对象的方法
你创建的是一个二维列表,要随机选其中的casella对象,有两种简单的实现方式:
方法一:直接生成随机索引
利用random模块生成行和列的整数索引,再通过索引获取元素:
import random # 生成0-9之间的随机行索引 row = random.randint(0, 9) # 生成0-9之间的随机列索引 col = random.randint(0, 9) # 获取随机选中的casella对象 random_item = self.taula[row][col]
random.randint(a, b)会返回包含a和b在内的整数,刚好匹配你10×10列表的索引范围(索引从0开始,到9结束)。
方法二:扁平化列表后随机选择
先把二维列表转换成一维列表,再用random.choice()直接选元素:
import random # 将二维列表摊平为一维列表 flat_list = [item for sublist in self.taula for item in sublist] # 随机选取一个元素 random_item = random.choice(flat_list)
这种方法不需要手动处理索引,random.choice()会自动从一维列表里挑出一个随机元素。
内容的提问来源于stack exchange,提问作者Xavier Vilalta
相关产品推荐
相关产品推荐

