Python基础(二)之list

时间:2024-01-19 23:58:20

列表:用[]表示

常用方法: list.append,list.insert,list.remove,list.pop,list.count,list.sort,list.reverse,list.index,list.copy

常见操作:

list_1 = ['haha','xixi','lala','hehe','zizi','wuwu']
print(list_1[1:3]) ##打印出下标为1到3(不包括3)的元素
print(list_1[-3:]) ##打印出最后三个元素
print(list_1[-1]) ##打印出最后一个元素
print(list_1[:]) ##打印出整个列表的元素
print(list_1[::]) ##打印出整个列表的元素,步长为0
print(list_1[:2]) ##打印出下标为0到2(不包括2)的元素
print(list_1[::2]) ##打印出整个列表中从下标为0开始每隔2个下标的元素 list_1[0] = 'moto' ##将列表中第一个元素的值改为moto
list_1.append('hello') ##在列表末尾追加hello这个元素
list_1.insert(1,'fuck') ##在下标为1处追加一个值为fuck的元素
list_1.remove('fuck') ##删除fuck这个元素
list_1.pop() ##删除列表中最后一个元素
list_1.pop(1) ##删除列表中下标为1的元素
list_1.insert(2,'zizi')
print(list_1.count('zizi')) ##统计列表中zizi元素的个数
print(list_1.index('hehe')) ##显示列表中hehe元素的下标
list_1.reverse() ##反转列表
list_1.sort() ##对列表排序
list_2 = ['beijing','shanghai','guangzhou','shenzhen']
list_1.extend(list_2) ##将list_2追加到list_1中
list_3 = list_1.copy() ##拷贝list_1到list_3

深copy和浅copy区别:

浅copy:只copy列表中第一层元素,当含有第二层列表时,只copy内存地址而不copy第二层列表的内容,因此当第二层列表中的元素变化时,新生成的列表的元素也会发生相应变化

例:

nihao_1 = ['how','are','you',['haha','xixi']]
nihao_3 = nihao_1.copy()
print(nihao_1)
print(nihao_3)
nihao_1[2] = 'yours'
nihao_1[3][0] = 'lala'
print(nihao_1)
print(nihao_3)

结果:

['how', 'are', 'you', ['haha', 'xixi']]
['how', 'are', 'you', ['haha', 'xixi']]
['how', 'are', 'yours', ['lala', 'xixi']]
['how', 'are', 'you', ['lala', 'xixi']]

深copy:会copy列表中的全部元素

例:

nihao_1 = ['how','are','you',['haha','xixi']]
nihao_3 = copy.deepcopy(nihao_1)
print(nihao_1)
print(nihao_3)
nihao_1[2] = 'yours'
nihao_1[3][0] = 'lala'
print(nihao_1)
print(nihao_3)

结果:

['how', 'are', 'you', ['haha', 'xixi']]
['how', 'are', 'you', ['haha', 'xixi']]
['how', 'are', 'yours', ['lala', 'xixi']]
['how', 'are', 'you', ['haha', 'xixi']]