day 04 list和turple
文章目录
(1)list
增
append
在最后加入
li = ['alex','wusir','egon','女神','taibai']
li.append('ritian')
print(li)
insert
在任意位置插入 有索引
li = ['alex', 'ric']
li.insert(1, 'erge')
print(li)
小题目 HR要增加100个人的名字,当他不想输入的时候,按Q随时退出
li = ['alex', 'ric']
while 1:
name = input('请添加名字,按Q退出:')
if name.upper() == 'Q':
break
else:
li.append(name)
print(li)
extend
可迭代,并且是拆分开来之后,再一个个添加
注意:字符串,列表是可迭代的。数字是一个整体,不可迭代
li = ['alex','wusir','egon','女神','taibai']
li.extend('ric12')
li.extend('123')
print(li)
# 结果
['alex', 'wusir', 'egon', '女神', 'taibai', 'r', 'i', 'c', '1', '2', '1', '2', '3']
删
pop
默认删除最后一个,有返回值。也可以按照索引来进行删除
li = ['alex','wusir','egon','女神','taibai']
print(li.pop())
print(li)
print(li.pop(1))
print(li)
remove
按元素去删除
li = ['alex','wusir','egon','女神','taibai']
li.remove('wusir')
print(li)
clear
清空
li = ['alex','wusir','egon','女神','taibai']
li.clear()
print(li)
# 结果
[]
del
可以进行切片删除
li = ['alex','wusir','egon','女神','taibai']
del li[0::-1] # 因为位置0往左之后什么都没有,又顾头不顾尾,所以把第一个删除了
print(li)
# 结果
['wusir', 'egon', '女神', 'taibai']
改
li = ['alex','wusir','egon','女神','taibai']
li[0] = 'nansheng'
li[1] = [123]
print(li)
# 结果
['nansheng', [123], 'egon', '女神', 'taibai']
切片改
不管你给出的多少位置的,始终把给定位置删除,然后把新的字符串迭代添加进去
li = ['alex','wusir','egon','女神','taibai']
li[0:2] = '艾克分哈哈哈'
li[0:3] = [1, 2, 3, '春哥', '咸鱼哥']
print(li)
# 结果
[1, 2, 3, '春哥', '咸鱼哥', '哈', '哈', '哈', 'egon', '女神', 'taibai']
查
for循环
for i in li:
print(li)
print(li[0:2])
(2) 公共方法
字符个数 len
li = ['alex','wusir','egon','女神','taibai']
l = len(li)
print(l)
sort
li = [1,5,4,7,6,2,3]
li.sort()
print(li)
正向排序
li = [1,5,4,7,6,2,3]
li.sort()
print(li)
逆向排序
reverse = True即可
li.sort(reverse=True)
print(li)
# 输出
[7, 6, 5, 4, 3, 2, 1]
反转 reverse
li.reverse()
print(li)
# 结果
[1, 2, 3, 4, 5, 6, 7]
索引
只有index 找不到报错
li = ['alex','wusir','egon','女神','taibai']
num = li.index('女神')
print(num)
(3) 列表的嵌套
# 找到藤字
li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]
print(li[1][1]) # 字符串还可以进行切片
# 找alex 把首字母变成大写在放进去
li[3][0] = li[3][0].capitalize()
print(li)
# 找到 昊 字,把其替换成日天,再放进去 用一个替换的思想
li[2] = li[2].replace('昊', '日天')
print(li)
# 将egon全部变成大写在放回原位置
li[3][1] = li[3][1].upper()
print(li)
(4)元组
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)(“a”,“b”,“c”)
儿子不可以改,孙子可能可以改(若元组里面嵌套了list,则可以进行修改)
tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon')
print(tu[2])
print(tu[:4])
for i in tu:
print(i)
# 把taibai全部大写再放进去
tu[4][3] = tu[4][3].upper()
print(tu)
(5)jion
连接符必须是字符串
最后返回的也是字符串
列表也可以进行操作
列表转换成字符串就用join
字符串转换成列表用split
s = 'rick'
s1 = '_'.join(s)
print(s1)
列表转化成字符串 list -----> str join
li = ['taibai','alex','wusir','egon','女神']
s = '_|'.join(li)
print(s)
# 结果
taibai_|alex_|wusir_|egon_|女神
字符串转化成列表 str -----> list
s = 'alex,p'
s1 = s.split(',')
print(s1)
(6) range
给定数字范围 可以逆向输出 可以给定步长 参考切片 [1,2,3,4,5,6,…100…]
for i in range(10, 20, 2):
print(i)
for i in range(10,-1,-1):
print(i)
for i in range(0,10,-2): # 不会报错,但是会输出空 因为从位置0开始,往左边数是没有数字的。
print(i)