gpt4 book ai didi

python - 在值为单个整数的字典中将它们更改为列表

转载 作者:行者123 更新时间:2023-11-28 22:08:45 24 4
gpt4 key购买 nike

为简单起见,我的字典如下所示:

data ={"a": 12, "b": 13, "c": 22, "d": 33}

我有很大的字典。将键值对中的所有值转换为包含单个整数的列表的最有效方法是什么

我试过了

for key in data:
data[key] = list(data[key])

给我:

TypeError:'int' object not iterable.

这是否意味着我无法将单个整数转换为列表?

我可以通过以下方式获得所需的输出:

for key in data:
lst = []
lst.append(data[key])
data[key] = lst

但感觉有更有效的方法。

期望的输出:

  data ={"a": [12], "b": [13], "c": [22], "d": [33]}

最佳答案

使用字典理解如下:

data = {key: [value] for key, value in data.items()}

运行示例:

>>> data ={"a":12, "b":13, "c":22, "d":33}
>>> data = {key: [value] for key, value in data.items()}
>>> data
{'a': [12], 'b': [13], 'c': [22], 'd': [33]}

我还使用了 ipython 来查看我的或@Selcuk 哪个解决方案更有效,结果如下:

In [1]:
%%timeit
data ={"a":12, "b":13, "c":22, "d":33}
data = {key: [value] for key, value in data.items()}
1.05 µs ± 18.9 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
In[2]:
%%timeit
data ={"a":12, "b":13, "c":22, "d":33}
data.update((k, [v]) for k, v in data.items())
1.61 µs ± 34.7 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

关于python - 在值为单个整数的字典中将它们更改为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58177792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com