鱼C论坛

 找回密码
 立即注册
查看: 816|回复: 3

字典求问,搞了好久没弄懂。。

[复制链接]
发表于 2019-2-16 14:18:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. dic = {
  2.     'a': 1,
  3.     'b': 2,
  4.     'c': 3,
  5. }

  6. reverse = {v: k for k, v in dic.items()}
  7. print(dic)
  8. print(reverse)
复制代码


{v: k for k, v in dic.items()}  这里的 v: k for k, 应该是字典的键吧,但是v: k for k 是什么意思呢。 求教坛友帮忙指点一二 谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-2-16 15:01:20 | 显示全部楼层
本帖最后由 jackz007 于 2019-2-16 15:09 编辑

    这条语句和下面的语句等效:

  1. reverse = {}
  2. for k , v in dic . items():
  3.     reverse[v] = k
复制代码
   

        实际上就是遍历字典 dic 中的每一项得到 key 和 value,然后把 key 和 value 交换,让 key 成为新的 value,让 value 成为新的 key,从而生成一个新字典 reverse。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-16 16:47:26 | 显示全部楼层
字典推导式
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-16 17:06:38 | 显示全部楼层
  1. reverse = {v: k for k, v in dic.items()}
复制代码


是 v:k 然后 for k, v in  dic.items()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-13 23:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表