零基础学Python5

元组

既能像列表那样同时容纳多种类型的对象,也有字符串不可变的特性

列表   [元素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, '上山大老鼠')

rhyme[0]  #元组也可以通过下标获取元素
1
rhyme[-1] #最后一个元素下标是 -1
'上山大老鼠'

rhyme[:3]  #也可以用切片
(1, 2, 3)
rhyme[3:]
(4, 5, '上山大老鼠')
rhyme[:]
(1, 2, 3, 4, 5, '上山大老鼠')
rhyme[::2]
(1, 3, 5)
rhyme[::-1]
('上山大老鼠', 5, 4, 3, 2, 1)

元组内容不可变 所以无法修改元组内容

元组只支持查

nums=(3,1,9,6,8,3,5,3)
nums.count(3)  #数一下 3 有几个
3

heros=("蜘蛛侠","蜘蛛侠","黑寡妇")
heros.index("黑寡妇") #查"黑寡妇"的下标
2

s=(1,2,3)
t=(4,5,6)
s+t   #元组的拼接
(1, 2, 3, 4, 5, 6)

w=s,t  #元组的嵌套
w
((1, 2, 3), (4, 5, 6))

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

s=(1,2,3,4,5)
[each*2 for each in s]  #列表推导式
[2, 4, 6, 8, 10]

在不引起歧义的情况下,python允许你省略圆括号,可以随时都用圆括号

如何生成只有一个元素的元组

x=(520,)
x
(520,)

type(x)
<class 'tuple'> #tuple是元组的意思

打包&解包

生成一个元组称为打包,将他们一次性赋值给3个变量名 称为解包

t=(123,"Fish",3.12) #打包
t
(123, 'Fish', 3.12)

x,y,z=t   #解包
x
123
y
'Fish'
z
3.12

a,b,c,d="love" #同样适用于字符串和列表
a
'l'
b
'o'
c
'v'
d
'e'

a,b,*c="love" #小技巧
a
'l'
b
'o'
c
['v', 'e']

x,y=10,20 #多重赋值
x
10
y
20

打包和解包适用于任何序列类型:列表,字符串

赋值号左边的变量名数量要和右侧序列的元素数量一致

多重赋值:逻辑就是 先将元素打包 然后再解包

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

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])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值