python 元组和列表
list
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
-
切片查看
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) print(names[1:3]) ##切片;顾头不顾尾 print(names[0:3]) print(names[-1]) print(names[-2:]) print(names[:3]) print(names[0],names[2]) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['4Guyun', 'Xiangpeng'] ['#ZhangYang', '4Guyun', 'Xiangpeng'] XuLiangChen ['ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', 'Xiangpeng'] #ZhangYang Xiedi
-
追加
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
-
插入
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', '4Guyun', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
-
替换
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
-
删除
方法一: names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) #delete(三种方法) names.remove('ChenRonghua') #del names[1]=names.pop(1) #names.pop(1) print(names) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] ['#ZhangYang', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] 方法二: names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) #delete(三种方法) #names.remove('ChenRonghua') #del names[1]=names.pop(1) del names[1] #names.pop(1) print(names) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] ['#ZhangYang', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] 方法三: names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) #delete(三种方法) #names.remove('ChenRonghua') #del names[1]=names.pop(1) #del names[1] names.pop(1) print(names) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] ['#ZhangYang', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong']
-
查找
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) print(names.index("Xiedi")) print(names[names.index("Xiedi")]) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] 2 Xiedi
-
个数
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) print('ChenRonghua:',names.count("ChenRonghua")) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] ChenRonghua: 2
-
清空
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) names.clear() print(names) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] []
-
顺序翻转和ASCII码排序
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) names.reverse() ##顺序翻转 print(names) names.sort() #按照ASCII顺序翻转 print(names) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] ['LeiHaidong', 'XuLiangChen', 'ChenRonghua', 'Xiangpeng', 'XingZhiyu', 'Xiedi', 'ChenRonghua', '#ZhangYang'] ['#ZhangYang', 'ChenRonghua', 'ChenRonghua', 'LeiHaidong', 'Xiangpeng', 'Xiedi', 'XingZhiyu', 'XuLiangChen']
-
列表追加进列表
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) names2 = [1,2,3,4] names.extend(names2) print(names,names2) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong', 1, 2, 3, 4] [1, 2, 3, 4]
-
删除列表
names = ["#ZhangYang","4Guyun","Xiangpeng","ChenRonghua","XuLiangChen"] print(names) names.append('LeiHaidong') names.insert(1,"ChenRonghua") names.insert(3,"XingZhiyu") names[2] ='Xiedi' print(names) names2 = [1,2,3,4] names.extend(names2) del names2 print(names,names2) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen'] Traceback (most recent call last): ['#ZhangYang', 'ChenRonghua', 'Xiedi', 'XingZhiyu', 'Xiangpeng', 'ChenRonghua', 'XuLiangChen', 'LeiHaidong'] File "D:/PycharmProjects/zhuyouen/0403/names.py", line 35, in <module> print(names,names2) NameError: name 'names2' is not defined ------->因为没有列表‘name2’,所以没有定义
-
切片查看
方法一: names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"] for i in range(1,6,2): print(names[i]) print() for i in names: print(i) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py 4Guyun ['alex', 'jack'] XuLiangChen #ZhangYang 4Guyun Xiangpeng ['alex', 'jack'] ChenRonghua XuLiangChen 方法二: names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"] print(names) print(names[0:-1:2]) print(names[::2]) print(names[1::2] D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', 'Xiangpeng', 'ChenRonghua'] ['#ZhangYang', 'Xiangpeng', 'ChenRonghua'] ['4Guyun', ['alex', 'jack'], 'XuLiangChen']
-
复制
方法一: names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"] name2 = names.copy() print(names) print(name2) print() names[2] = "向鹏" names[3][0] = "ALEX" print(names) print(name2) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', '向鹏', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', 'Xiangpeng', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen'] 方法二: # author = "zhuyouen" import copy names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"] name2 = copy.copy(names) print(names) print(name2) print() names[2] = "向鹏" names[3][0] = "ALEX" print(names) print(name2) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', '向鹏', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', 'Xiangpeng', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen'] 方法三: # author = "zhuyouen" import copy names = ["#ZhangYang","4Guyun","Xiangpeng",['alex','jack'],"ChenRonghua","XuLiangChen"] name2 = copy.deepcopy(names) print(names) print(name2) print() names[2] = "向鹏" names[3][0] = "ALEX" print(names) print(name2) D:\python35\python.exe D:/PycharmProjects/zhuyouen/0403/names.py ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', '向鹏', ['ALEX', 'jack'], 'ChenRonghua', 'XuLiangChen'] ['#ZhangYang', '4Guyun', 'Xiangpeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangChen']
-
复制
# author = "zhuyouen" ##浅copy person=['name',['saving',100]] ''' p1=copy.copy(person) p2=person[:] p3=list(person) ''' p1=person[:] p2=person[:] p1[0]='alex' p2[0]='fengjie' p1[1][1]=50 print(p1) print(p2)
元组tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。
# author = "zhuyouen"
name=('alex','jack')
name[1]='123'
print(name)
D:\python35\python.exe D:/PycharmProjects/zhuyouen/0404/tuple.py
Traceback (most recent call last):
File "D:/PycharmProjects/zhuyouen/0404/tuple.py", line 3, in <module>
name[1]='123'
TypeError: 'tuple' object does not support item assignment