马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Nicole37 于 2023-9-20 17:10 编辑
元祖:
1、写法上:元组用圆括号来容纳元素;或者元祖可以不加括号,元素用逗号隔开。
e.g
- a = ("hello","burger")
- a
- ('hello', 'burger')
复制代码- a = 1,2,3,"tina"
- a
- (1, 2, 3, 'tina')
复制代码
2、元祖可用下标来获取元素:
e.g
元祖支持切片
- a[:2]
- (1, 2)
- a[2:]
- (3, 'tina')
- a[::-1]
- ('tina', 3, 2, 1)
复制代码
3、元祖不支持修改,只能查找 count index,可行的元祖操作:
- #count:查找元祖中某元素的个数
- b = (1,2,3,4,8,2,68,7,4,6,4)
- b.count(3)
- 1
- b.count(4)
- 3
- #index获取下标的方法
- b.index(68)
- 6
- #拼接“+”和重复“*”
- c = (1,2)
- d = (3,4)
- c + d
- (1, 2, 3, 4)
- c*5
- (1, 2, 1, 2, 1, 2, 1, 2, 1, 2)
- #元祖的嵌套
- e = (c,d)
- e
- ((1, 2), (3, 4))
- e = c,d
- e
- ((1, 2), (3, 4))
- #元祖支持迭代:
- for i in e:
- print(i)
-
- (1, 2)
- (3, 4)
- for i in e:
- for j in i:
- print(j)
-
- 1
- 2
- 3
- 4
- #用元祖生成列表推导式
- v = [j*2 for i in e for j in i]
- v
- [2, 4, 6, 8]
- #注意,不能将方括号变成圆括号,没有元祖推导式这一说
复制代码
4、生成只有一个元素的数组,要加逗号
- x = (77)
- type(x)
- <class 'int'>
- x = (77,)
- type(x)
- <class 'tuple'>
复制代码
5、多重赋值(打包与解包)
- #将元素打包成元祖:
- t = (98,77,"chifan ")
- t
- (98, 77, 'chifan ')
- #解包:将元祖中的各个元素分别赋值给不同变量
- a,b,c=t
- a
- 98
- b
- 77
- c
- 'chifan '
- #解包适用于任何序列类型,如列表
- r = [6,5,"chisha"]
- p,o,u=r
- p
- 6
- o
- 5
- u
- 'chisha'
- #如字符串
- a,b,c,d,e="fishc"
- a
- 'f'
- b
- 'i'
- c
- 's'
- d
- 'h'
- e
- 'c'
- #注意 赋值号左面变量的数量要与右面序列的数量一致
- #多重赋值实际上就是利用元祖先打包在解包
- d,f,t = 1,5,7
- d
- 1
- f
- 5
- t
- 7
复制代码
6、改变元祖元素:当元祖的元素是由列表构成时,此时的元祖元素可以被重新赋值
- a=[1,5,8]
- b=["solo","nicole","okey"]
- s=(a,b)
- s
- ([1, 5, 8], ['solo', 'nicole', 'okey'])
- s[1][1]=77
- s
- ([1, 5, 8], ['solo', 77, 'okey'])
复制代码
作业:
1、赋值号左侧的变量名数量,跟右侧序列的元素数量不一致时,可以将剩余的多个对象分配到一个变量中(使用星号)
- >>> a, *b, c = "FishC"
- >>> a
- 'F'
- >>> b
- ['i', 's', 'h']
- >>> c
- 'C'
复制代码 |