从由多个列表组成的字典中,从每个列表中选择一个元素

插口

可以说我有一个这样的列表字典:

lists= {'pet': ["dog", "cat", "parrot"],
        'amount': [1,2,3],
        'food': ["canned", "dry"]}

我想从每个列表中随机选择一个元素,所以结果是这样的:

{'amount': 2, 'food': 'canned', 'pet': 'cat'}

使用Python实现它的最简单方法是哪一种?

cs95

你试过了random.choice吗?

from random import choice

{k: choice(v) for k in lists.items()}  # use lists.iteritems() in python 2.x 
# {'pet': 'parrot', 'amount': 3, 'food': 'canned'}

或者,如果您想lists就地更新,请使用

for k, v in lists.items():
    lists[k] = choice(v)

lists
# {'pet': 'parrot', 'amount': 3, 'food': 'canned'}

另外,如果您的python版本支持有序内置字典(> = cpython3.6,> = python3.7),则可以尝试将其map用作功能替代品:

dict(zip(lists, map(choice, lists.values())))
# {'pet': 'parrot', 'amount': 2, 'food': 'dry'}

我个人很喜欢前两个选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在列表的每个字典中添加一个元素(列表理解)

比较2个由字典和python中唯一键组成的列表

从Golang中的功能列表中选择一个功能

创建一个由子数组和子列表项组成的字典

从C中的列表中选择一个随机节点

根据偏好从列表中选择一个元素

如何将列表分为相等的子列表,最后一个子列表由列表的第一个可能的元素组成

效果是选择一个列表中的每个元素,一个接一个

如何在Beautiful Soup中选择列表中每个元素的第一个孩子

从列表中选择一个随机元素

Linq一个列表从另一个列表中选择多个项目

如何根据索引列表从2D列表中的每个1D列表中选择一个元素?

从PowerShell中的列表中选择一个项目

如何从多个列表的输出中选择一个列表?

从Haskell的列表中选择一个随机元素

在字典中的值列表中选择元素

从python中的2d数组列表中选择一个随机元素

R使用一个数据框中的条件从列表中选择元素

我需要在Scheme中合并两个列表,从每个列表中选取一个元素

在Excel中,从列表中选择一个单词

从下拉列表中选择一个元素从其他下拉列表中删除JQuery

jQuery从获取的项目列表中选择一个元素

如何从字典的列表中选择一个值?

多个终端从列表中选择一个号码

将多个字典中的元素提取到一个列表?

从python字典中的每个列表中随机选择一个值

选择由元素列表熊猫组成的列的最后一个元素

制作一个由多个列表组成的数据框作为行,Python

如何基于决策变量(一个用于行,一个用于列)从矩阵(python 中的列表列表)中选择一个元素 | 或工具,Python