Python学习 - 第4天(列表操作)
1、列表操作
1)增:append() insert() extend()
append() 向列表的末尾添加元素
insert() 向列表中插入元素
extend() 向列表的末尾添加另一列表的元素
li = ['郑秋冬','罗伊人','熊青春','贾衣枚','林拜'] li.append('袁昆') li.insert(5,'蒙挚') li.extend('梅长苏') li.extend(['蔺晨','景琰','霓凰','宫羽']) print(li)
2)删:pop() remove() del clear()
pop() 可以代入返回值删除指定元素,不代入默认删除尾元素
remove() 删除指定元素,返回值为指定元素
clear() 清空列表
del 删除切片
li = ['郑秋冬', '罗伊人', '熊青春', '贾衣枚', '林拜', '蒙挚', '袁昆', '梅', '长', '苏', '蔺晨', '景琰', '霓凰', '宫羽'] # 删 name_1 = li.pop(6) # 有返回值 name_2 = li.pop() # 默认返回最后的值 li.remove('贾衣枚') print(name_1,name_2,li) # li.clear() # print(li) del li[5:8] print(li)
3)改:
li = ['郑秋冬', '罗伊人', '熊青春', '林拜', '蒙挚', '蔺晨', '景琰', '霓凰'] # 改 li[5] = '明楼' print(li) li[5:7] = '明诚' print(li) li[5:7] = ['明楼','明台','明镜','明诚'] print(li)
4)查:
li = ['郑秋冬', '罗伊人', '熊青春', '林拜', '蒙挚', '明楼', '明台', '明镜', '明诚', '霓凰'] # 查 for i in li: print(i) print(li[0:4])
5)公共方法:len() count() index()
len() 计算列表的长度
count() 代入返回值,计算列表中返回值的个数
index() 计算列表中元素的序列号,find()不可用于列表
li = ['郑秋冬', '罗伊人', '熊青春', '林拜', '蒙挚', '明楼', '明台', '明镜', '明诚', '霓凰'] # 公共方法 print(len(li)) print(li.count('郑秋冬')) print(li.index('明楼'))
6)排序:sort() sort(reverse = True) reverse()
sort() 正向排序
sort(reverse = True) 反向排序
reverse() 反转
# 排序 num = [2,5,3,6,4,1] num.sort() # 正向排序 print(num) num.sort(reverse = True) # 反向排序 print(num) num.reverse() # 反转 print(num)
7)字符串与列表的互转:join() split()
join() 可以将列表转化为字符串
split() 可以将字符串分裂成列表
li = ['郑秋冬','罗伊人','熊青春','贾衣枚','林拜'] li = ' '.join(li) print(li) li = li.split(' ') print(li)
8)range()
# 将列表中的每一个元素单独输出 li = ['郑秋冬','罗伊人','熊青春','贾衣枚','林拜',['明镜','明楼','明台','明诚']] for i in range(len(li)): if type(li[i]) == list: for j in li[i]: print(j) else: print(li[i])
2、元祖
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
tu = ('郑秋冬','罗伊人','熊青春','于曼丽',['明楼','明镜','明台','明诚'])
3、相关练习
li = ['alex','wusir','eric','rain','alex'] # 1)计算列表的长度并输出 print(len(li)) # 2)列表中追加元素'seven',并输出添加后的列表 li.append('seven') print(li) # 3)请在列表的第1个位置插入元素'Tony',并输出添加后的列表 li.insert(1,'Tony') print(li) # 4)请修改列表第2个位置的元素为'Kelly',并输出修改后的列表 li[1] = 'Kelly' print(li) # 5)请将列表l2 = [1,'a',3,4,'heart']的每一个元素添加到列表li中,一行代码实现,不允许循环添加 l2 = [1,'a',3,4,'heart'] li.extend(l2) print(li) # 6)请将字符串s = 'qwert'的每一个元素添加到列表li中,一行代码实现,不允许循环添加 s = 'qwert' li.extend(s) print(li) # 7)请删除列表中的元素'eric',并输出添加后的列表 li.remove('eric') print(li) # 8)请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表 li_1 = li.pop(1) print(li_1,li) # 9)请删除列表中的第2至4个元素,并输出删除元素后的列表 del li[1:3] print(li) # 10)请将列表所有的元素反转,并输出反转后的列表 li.reverse() print(li) # 11)请计算出'alex'元素在列表li中出现的次数,并输出该次数 num = li.count('alex') print(num)
li = [1,3,2,'a',4,'b',5,'c'] # 1)通过对li列表的切片形成新的列表l1,l1 = [1,3,2] l1 = li[0:] del l1[3:] print(l1) # 2、通过对li列表的切片形成新的字符串l2,l2 = ['a',4,'b'] l2 = li[0:] del l2[0:3] del l2[3:] print(l2) # 3、通过对li列表的切片形成新的字符串l3,l3 = [1,2,4,5,] l3 = li[0:] del l3[1::2] print(l3) # 4、通过对li列表的切片形成新的字符串l4,l4 = [3,'a','b'] l4 = li[0:] del l4[0::2] l4.pop() print(l4) # 5、通过对li列表的切片形成新的字符串l5,l5 = [c] l5 = li[0:] del l5[-2::-1] print(l5) # 6、通过对li列表的切片形成新的字符串l6,l6 = ['b','a',3] l6 = li[0:] l6.reverse() del l6[1::2] l6.pop(0) print(l6)
lis = [2,3,'k',['qwe',20,['kl',['tt',3,'l']],89],'ab','adv'] # 1)将列表lis中的'tt'变成大写(用两种方式) ''' lis[3][2][1][0] = 'TT' print(lis) ''' lis[3][2][1][0] = lis[3][2][1][0].upper() print(lis)
# 利用下划线将列表的每一个元素拼接成字符串'alex eric rain' li = ['alex','eric','rain'] li = '_'.join(li) li = li.replace('_',' ') print(li)