鱼C论坛

 找回密码
 立即注册
查看: 2533|回复: 4

[已解决]字典

[复制链接]
发表于 2020-11-2 22:15:43 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
Screenshot_20201102-213630.jpg dict3这里为啥用的都是小括号
最佳答案
2020-11-2 22:47:32
  1. # 创建字典的几种方式
  2. # 一、{key: value}
  3. dic1 = {'one': 1, 'two': 2, 'three': 3}
  4. print(dic1)

  5. # 二、dict()
  6. k = ['one', 'two', 'three']
  7. v = [1, 2, 3]
  8. dic2 = dict(zip(k,v))
  9. print(dic2)

  10. dic3 = dict([('one', 1), ('two', 2), ('three', 3)])
  11. print(dic3)
  12. #或
  13. dic4 = dict((('one', 1), ('two', 2), ('three', 3)))
  14. print(dic4)

  15. # 三、dict(key=value)
  16. dic5 = dict(one=1, two=2, three=3)
  17. print(dic5)

  18. # 四、fromkeys()
  19. dic6 = dict.fromkeys(['one', 'two', 'three'], '值') # 若不指定值,值默认为None
  20. print(dic6)

  21. # 还有字典推导式
  22. ls1 = ['one', 'two', 'three']
  23. ls2 = [1, 2, 3]
  24. dic7 = {ls1[i]: ls2[i] for i in range(len(ls1))}
  25. print(dic7)
复制代码


应该是比较全的了吧,若有遗漏,欢迎补充。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-2 22:27:41 | 显示全部楼层
外层:dict函数的括号
中层:包裹参数成迭代器,这里迭代器是元组,你也可以改成列表,如>>> d3 = dict([(1,2),(3,4),(5,6)])
内层:迭代器元素是元组,是元组的括号。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-2 22:32:44 From FishC Mobile | 显示全部楼层
suchocolate 发表于 2020-11-2 22:27
外层:dict函数的括号
中层:包裹参数成迭代器,这里迭代器是元组,你也可以改成列表,如>>> d3 = dict([( ...

键和值的对应  不是用  :  的吗  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-2 22:47:32 | 显示全部楼层    本楼为最佳答案   
  1. # 创建字典的几种方式
  2. # 一、{key: value}
  3. dic1 = {'one': 1, 'two': 2, 'three': 3}
  4. print(dic1)

  5. # 二、dict()
  6. k = ['one', 'two', 'three']
  7. v = [1, 2, 3]
  8. dic2 = dict(zip(k,v))
  9. print(dic2)

  10. dic3 = dict([('one', 1), ('two', 2), ('three', 3)])
  11. print(dic3)
  12. #或
  13. dic4 = dict((('one', 1), ('two', 2), ('three', 3)))
  14. print(dic4)

  15. # 三、dict(key=value)
  16. dic5 = dict(one=1, two=2, three=3)
  17. print(dic5)

  18. # 四、fromkeys()
  19. dic6 = dict.fromkeys(['one', 'two', 'three'], '值') # 若不指定值,值默认为None
  20. print(dic6)

  21. # 还有字典推导式
  22. ls1 = ['one', 'two', 'three']
  23. ls2 = [1, 2, 3]
  24. dic7 = {ls1[i]: ls2[i] for i in range(len(ls1))}
  25. print(dic7)
复制代码


应该是比较全的了吧,若有遗漏,欢迎补充。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-3 08:13:56 | 显示全部楼层
本帖最后由 suchocolate 于 2020-11-3 08:24 编辑
小可爱. 发表于 2020-11-2 22:32
键和值的对应  不是用  :  的吗


迭代器每个元素只要是能拆包成2个值,dict就能转化成字典。你的例子里使用的是第3个方式迭代器,实际就是k/v循环迭代器。
详情参考help:
2.png

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 06:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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