鱼C论坛

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

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

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

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

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

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[0]
1
a[3]
'tina'
元祖支持切片
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'

评分

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

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 13:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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