首页 > 解决方案 > 随机选择列表中的元素,但有例外

问题描述

import random

a = [1, 2, 5, 3, 4, 5]
b = ["cat", "dog", "horse", "snake", "elephant", "goat"]

你好!我对编程相当陌生。我确信这不是一项艰巨的任务,但我只是找不到解决方案。

我需要python中的一个函数来将列表“b”中的单个随机元素存储为新列表,但是与列表“a”中为5的元素共享相同索引的元素不得包含在随机选择中。因此,在我的示例中,“马”和“山羊”不得包含在随机选择中。

标签: python

解决方案


您可以使用列表理解和random.choice

import random

a = [1, 2, 5, 3, 4, 5]
b = ["cat", "dog", "horse", "snake", "elephant", "goat"]
c = [random.choice([e for i,e in zip(a,b) if i != 5])]

示例输出:['dog']


推荐阅读