老莫的笔记本  
  
查看: 103|回复: 0

python zip 函数(存在赋值的疑问)

[复制链接]

664

主题

880

帖子

5153

积分

超级版主

Rank: 8Rank: 8

积分
5153
发表于 2023-8-17 17:31:16 | 显示全部楼层 |阅读模式



  1. # zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
  2. #
  3. # 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
  4. # 引入一个函数 zip 返回的是一个zip 对象
  5. a = ['1', '2']
  6. b = ['3', '5']
  7. c = zip(a, b)
  8. f = ['哇哈哈', '冰红茶', '带打']
  9. d(c)
  10. # <zip object at 0x00000166FFA78600>

  11. # 转化为列表
  12. d(list(c))
  13. # [('1', '3'), ('2', '5')]

  14. # 转化为字典值
  15. # info4=dict(zip(['num','name','age'],['2003','小明','19']))
  16. d(dict(c))
  17. # {}  虽然 c = zip(a, b) ,但是 用dict 却转不成字典  这个问题我还真不知道为啥

  18. d(dict(zip(a, b)))
  19. # {'1': '3', '2': '5'}

  20. d(dict(zip(a, f)))
  21. #{'1': '哇哈哈', '2': '冰红茶'}  得出结论 只按照少的来

  22. # zip(*) 可理解为解压,返回二维矩阵式
  23. a2,b2 = zip(*zip(a, f))
  24. d(a2)
  25. # ('1', '2') 解压之后是元组类型 可以利用list 进行转换

复制代码
回复

使用道具 举报

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

本版积分规则

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