Python学习-元祖

十四、元祖

元祖是不可变的

1、语法:

列表:[元素1,元素2,元素3,….]
元祖:(元素1,元素2,元素3,….)

rhyme = (1,2,3,4,5,"上山打老虎")
rhyme
(1, 2, 3, 4, 5, '上山打老虎')
rhyme = 1,2,3,4,5,"上山打老虎"
rhyme
(1, 2, 3, 4, 5, '上山打老虎')

2、元祖可以通过下标来获取元素

rhyme[0]
1
rhyme[-1]
'上山打老虎'

3、元祖支持切片操作

rhyme[:3]
(1, 2, 3)
rhyme[3:]
(4, 5, '上山打老虎')
rhyme[:]
(1, 2, 3, 4, 5, '上山打老虎')

4、元祖—查

count和index方法

nums=(3,1,9,6,8,3,5,3)
nums.count(3)
3
heros = ("蜘蛛侠","绿巨人","黑寡妇")
heros.index("黑寡妇")
2

5、运算符—(+和*)

s = (1,2,3)
t = (4,5,6)
s+t
(1, 2, 3, 4, 5, 6)
s*3
(1, 2, 3, 1, 2, 3, 1, 2, 3)

6、嵌套

s = (1,2,3)
t = (4,5,6)
w = s,t
w
((1, 2, 3), (4, 5, 6))

7、迭代

for each in s:
    print(each)
    
1
2
3
 
for i in w:
    for each in i:
        print(each)
        
1
2
3
4
5
6

8、列表推导式对元祖进行转换

s = (1,2,3,4,5)
[each *2 for each in s]
[2, 4, 6, 8, 10]

9、如何生成只有一个元素的元祖

错误写法:

x = (520)
x
520
type(x)
<class 'int'>

正确写法:

x = (520,)
x
(520,)
type(x)
<class 'tuple'>

10、打包和解包

打包:就是生成一组元祖

t =(123,"Love",3.14)
t
(123, 'Love', 3.14)

解包:将打包的元祖一次性赋值给三个变量名的行为

x,y,z = t
x
123
y
'Love'
z
3.14

这种打包和解包的行为适用于任何的序列类型,
比如列表:

t =[123,"Love",3.14]
t
[123, 'Love', 3.14]
x,y,z = t
x
123
y
'Love'
z
3.14

比如字符串:

a,b,c,d = "Love"
a
'L'
b
'o'
c
'v'
d
'e'

需要注意的是:
赋值号左边的变量名数量,必须跟右侧序列的元素数量一致。
小技巧:

a,b,*c = "Love"
a
'L'
b
'o'
c
['v', 'e']

单独一个_,表示一个匿名变量,临时变量。

11、元祖真的是固若金汤么?

元祖中的元素虽然是不可变的,但如果元祖中的元素是指向一个可变的列表,那么我们依然是可以修改列表里面的内容的。

s = [1,2,3]
t = [4,5,6]
w = (s,t)
w
([1, 2, 3], [4, 5, 6])
w[0][0] = 0
w
([0, 2, 3], [4, 5, 6])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值