【问题标题】:Why my dictionary comprehension only change the first key/value为什么我的字典理解只改变第一个键/值
【发布时间】:2021-08-14 11:23:37
【问题描述】:

我是 python 新手,我想知道为什么这个简单的代码没有返回我字典的所有 3 个键/值? 我正在尝试创建字典,然后将其反转。

employees = ['Kelly', 'Emma', 'John']

myNewDict1=dict.fromkeys(employees,"Hi")

newDict2 = { ky: vl for vl, ky in myNewDict1.items() } 

print(newDict2.items())

这是我在终端中看到的结果:

dict_items([('Hi', 'John')])

虽然我希望看到所有三个键/值都颠倒了。

【问题讨论】:

  • 因为键应该是唯一的,这就是为什么..
  • 字典中的给定键只能有一个值。
  • “虽然我希望看到所有三个键/值都颠倒了。”那么,您希望newDict2["Hi"] 的值是多少?
  • 试试这个方法,newDict2 = {'Hi': employees } print(newDict2.items()) 只有这样才有可能..
  • @NanthakumarJJ 正是这个问题,感谢您的帮助。

标签: python dictionary-comprehension


【解决方案1】:

尝试这种方法,使用字典是不可能的,但你可以使用元组..

employees = ['Kelly', 'Emma', 'John']
print([('Hi', emp) for emp in employees])

或者一个班轮,

print(list(map(lambda x: ('Hi',x), ['Kelly', 'Emma', 'John'])))

输出:

[('Hi', 'Kelly'), ('Hi', 'Emma'), ('Hi', 'John')]

【讨论】:

    猜你喜欢
    • 2020-06-18
    • 2022-01-24
    • 1970-01-01
    • 2013-08-31
    • 2012-10-19
    • 2021-01-19
    • 1970-01-01
    • 2021-10-22
    相关资源
    最近更新 更多