元组(tuple)
tuple类型就是元组,用圆括号( )表示,不同元素逗号隔开。
☑一旦初始化赋值,tuple的大小以及元素不可发生修改操作。
☑这⾥元组的不可变的意思是子元素不可变;
而子元素内部的子元素是可以变, 这取决于⼦元素是否是可变对象.
☑tuple的操作速度比list的要快。
☑常用于开发一个常量集,只有读取操作,比较快速方便。
☑元组里面可以放任何类型的数据。
☑初始化一个元素的元组,后面一定加逗号,不然解释为int,而不是元组。
👉查询(仅有的操作,记住,元组不可以做修改操作)
t1 = (1, "hassgy", "Amy", "Tom", "我爱你")
print(t1)
# 索引
print(t1[0])
print(t1[1])
# 切片
print(t1[2:3])
# for循环遍历元组
for element in t1:
print(element)
# 尝试修改元组
t1[1] = "hass"
# 报错 'tuple' object does not support item assignment
------------------------------------------------------
t2 = (1, "哈哈", [], "呵呵")
# t2[2] = ["fdsaf"]
# 上面这么改不可以!
# 用append方法
t2[2].append("小红") # 可以改了. 没报错
t2[2].append("小明")
print(t2)
------------------------------------------------------
上面的修改可以看成元组里面的嵌套使用,主要取决于子元素是否可以修改。
其他方法:count,index,len()等。
列表(list)
list类型就是列表,用中括号[ ]表示,不同元素用逗号隔开。
☑初始化以后,相对元组,可以对内容再次修改。
☑常用于开发一组列表值,经常对其进行增,删,改的操作。
☑列表可以存放任何数据类型,混合使用都没问题。
☑列表和元组一样,也是可以做索引,切片的操作,一样的使用方法。
☑列表里的字符串是可以修改的,而列表和字符串不一样,列表可以发生改变。
列表-内置函数:
👉增加 append / insert / extend
list1 = ["hassgy","Amy","dady"]
# 直接添加 append()
list1.append("hello")
# 索引添加 insert()
list1.insert(1,"error")
# 迭代添加 extend()
list1.extend(["我喜欢","你也喜欢"])
print(list1)
👉删除 pop / remove / clear / del
lst = ["小明", "小黑", "小白", "小红"]
print(lst)
# 删除最后⼀个
deleted = lst.pop()
print("被删除的", deleted)
print(lst)
# 删除2号元素
el = lst.pop(2)
print(el)
print(lst)
# 删除指定元素
lst.remove("小红")
print(lst)
# 删除不存在的元素会报错
lst.remove("小天")
print(lst)
# 清空list
lst.clear()
print(lst)
# 切⽚删除
del lst[1:3]
print(lst)
👉修改 -索引,切片修改
# 修改
lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天"]
# 把1号元素修改成太污
lst[1] = "太污"
print(lst)
# 切⽚修改也OK. 如果步⻓不是1, 要注意. 元素的个数
lst[1:4:3] = ["小麻瓜", "小青瓜"]
print(lst)
# 如果切⽚没有步⻓或者步⻓是1. 则不⽤关⼼个数
lst[1:4] = ["你这个坑货"]
print(lst)
👉查询 -for循环迭代查询输出
lst = [1,"小明",(1,2,3)]
for el in lst:
print(el)
👉其他操作
lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天"]
# 字符串有多少个
lst.count("太白")
lst = [2,1,9,4,6]
# 升序排序
lst.sort()
# 降序排序
lst.sort(reverse=True)
# 降序排序
lst.reverse()
# 返回列表的长度
length = len(lst)
列表的嵌套使用
降维剖析,lst[n][m],一层一层读进去。
lst = [3, "小⽩", "hassgy", ["小马", ["小花"], "小王"]]
# 找到hassgy
print(lst[2])
# 找到小白到hassgy
print(lst[1:3])
# 找到小白以及白字
print(lst[1][1])
# 将hassgy拿到. 然后⾸字⺟⼤写. 再扔回去
s = lst[2]
s = s.capitalize()
lst[2] = s
print(lst)
# 简写
lst[2] = lst[2].capitalize()
print(lst)
# 把小⽩换成小⿊
lst[1] = lst[1].replace("⽩", "⿊")
print(lst)
# 把小马换成大马
lst[3][0] = lst[3][0].replace("小", "大")
print(lst[3][0])
lst[3][1].append("小雪")
print(lst)
😳学习完tuple以及list,我们了解一个以后常见的函数:range(n,m,step) 区间函数
range(start, stop, step)
# 开始点,结束点,步长
x = range(6)
for n in x:
print(n)
----------------------------
x = range(3, 6)
for n in x:
print(n)
----------------------------
x = range(3, 20, 2)
for n in x:
print(n)
敲代码试一下,看看打印啥,了解并学会运用range().