我正在尝试使用random.choice()
从字典中选择一个项目,但是,我希望其中一个项目完全被忽略。例如:
mutationMarkers = {0: "original", 1: "point_mutation", 2: "frameshift_insertion",
3: "frameshift_deletion", 4: "copy_number_addition",
5: "copy_number_subtraction"}
mutator = choice(list(markers)) # output is 0, 1, 2, 3, 4, 5
是否可以使用random.choice
并忽略{0: "original"}
?
答案 0 :(得分:6)
您可以使用列表理解:
mutator = choice([x for x in mutationMarkers if x != 0])
答案 1 :(得分:0)
使用set
的替代解决方案:
mutator = choice(tuple(mutationMarkers.keys() - {0}))