python-3.x - 字典理解 - 动态生成键值对?
问题描述
我想达到相同的结果
{i: i+1 for i in range(4)} # {0: 1, 1: 2, 2: 3, 3: 4}
但是用 动态生成key: value
部分myfunc(i)
,我该怎么做呢?
{i: i+1}
返回或(i, i+1)
不起作用的函数:
{{i: i+1} for i in range(4)} # TypeError: unhashable type: 'dict'
解决方案
dict(map(myfunc, range(4)))
请参阅:https ://docs.python.org/3.9/library/stdtypes.html#dict
例子:
>>> dict([(1,2), (3,4)])
{1: 2, 3: 4}
>>> dict(map(lambda x: (x, x+1), range(4)))
{0: 1, 1: 2, 2: 3, 3: 4}
推荐阅读
- pytorch - 如何使用 torch 为 net.parameters() 分配特定值
- php - laravel 测试中认证失败
- javascript - 使用道具传递数据以使用谷歌地图显示折线
- javascript - 无法通过 React useContext 获取作为上下文值传递的用户数据
- c++ - : 0xC0000005: 访问冲突写入位置 0x00000000 C++ 与内联汇编
- c# - 将 ID 令牌交换为访问令牌时,Google 身份验证代码流请求令牌会生成无效的客户端错误
- html - css page-break-inner的奇怪行为:避免
- vuejs3 - 我有一个 VueJs 3 菜单组件,需要在渲染时为选定元素设置光标
- javascript - 顺风背景渐变过渡
- time - 需要澄清 Time 类的使用