鱼C论坛

 找回密码
 立即注册
查看: 927|回复: 0

[学习笔记] 零py-(ep-17)

[复制链接]
发表于 2023-9-20 17:10:18 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Nicole37 于 2023-9-20 17:10 编辑

元祖:
1、写法上:元组用圆括号来容纳元素;或者元祖可以不加括号,元素用逗号隔开。
e.g
  1. a = ("hello","burger")
  2. a
  3. ('hello', 'burger')
复制代码
  1. a = 1,2,3,"tina"
  2. a
  3. (1, 2, 3, 'tina')
复制代码

2、元祖可用下标来获取元素:
e.g
  1. a[0]
  2. 1
  3. a[3]
  4. 'tina'
复制代码

元祖支持切片
  1. a[:2]
  2. (1, 2)
  3. a[2:]
  4. (3, 'tina')
  5. a[::-1]
  6. ('tina', 3, 2, 1)
复制代码

3、元祖不支持修改,只能查找 count index,可行的元祖操作:
  1. #count:查找元祖中某元素的个数
  2. b = (1,2,3,4,8,2,68,7,4,6,4)
  3. b.count(3)
  4. 1
  5. b.count(4)
  6. 3
  7. #index获取下标的方法
  8. b.index(68)
  9. 6
  10. #拼接“+”和重复“*”
  11. c = (1,2)
  12. d = (3,4)
  13. c + d
  14. (1, 2, 3, 4)
  15. c*5
  16. (1, 2, 1, 2, 1, 2, 1, 2, 1, 2)
  17. #元祖的嵌套
  18. e = (c,d)
  19. e
  20. ((1, 2), (3, 4))
  21. e = c,d
  22. e
  23. ((1, 2), (3, 4))
  24. #元祖支持迭代:
  25. for i in e:
  26.     print(i)

  27.    
  28. (1, 2)
  29. (3, 4)
  30. for i in e:
  31.     for j in i:
  32.         print(j)

  33.         
  34. 1
  35. 2
  36. 3
  37. 4
  38. #用元祖生成列表推导式
  39. v = [j*2 for i in e for j in i]
  40. v
  41. [2, 4, 6, 8]
  42. #注意,不能将方括号变成圆括号,没有元祖推导式这一说
复制代码

4、生成只有一个元素的数组,要加逗号
  1. x = (77)
  2. type(x)
  3. <class 'int'>
  4. x = (77,)
  5. type(x)
  6. <class 'tuple'>
复制代码

5、多重赋值(打包与解包)
  1. #将元素打包成元祖:
  2. t = (98,77,"chifan ")
  3. t
  4. (98, 77, 'chifan ')
  5. #解包:将元祖中的各个元素分别赋值给不同变量
  6. a,b,c=t
  7. a
  8. 98
  9. b
  10. 77
  11. c
  12. 'chifan '
  13. #解包适用于任何序列类型,如列表
  14. r = [6,5,"chisha"]
  15. p,o,u=r
  16. p
  17. 6
  18. o
  19. 5
  20. u
  21. 'chisha'
  22. #如字符串
  23. a,b,c,d,e="fishc"
  24. a
  25. 'f'
  26. b
  27. 'i'
  28. c
  29. 's'
  30. d
  31. 'h'
  32. e
  33. 'c'
  34. #注意 赋值号左面变量的数量要与右面序列的数量一致
  35. #多重赋值实际上就是利用元祖先打包在解包
  36. d,f,t = 1,5,7
  37. d
  38. 1
  39. f
  40. 5
  41. t
  42. 7
复制代码

6、改变元祖元素:当元祖的元素是由列表构成时,此时的元祖元素可以被重新赋值
  1. a=[1,5,8]
  2. b=["solo","nicole","okey"]
  3. s=(a,b)
  4. s
  5. ([1, 5, 8], ['solo', 'nicole', 'okey'])
  6. s[1][1]=77
  7. s
  8. ([1, 5, 8], ['solo', 77, 'okey'])
复制代码

作业:
1、赋值号左侧的变量名数量,跟右侧序列的元素数量不一致时,可以将剩余的多个对象分配到一个变量中(使用星号)
  1. >>> a, *b, c = "FishC"
  2. >>> a
  3. 'F'
  4. >>> b
  5. ['i', 's', 'h']
  6. >>> c
  7. 'C'
复制代码

评分

参与人数 1鱼币 +1 收起 理由
JasonChencCjj + 1 新鱼油可爱捏

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 10:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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