Python列表的基本操作

1.列表的定义

列表是用一对[]表示,空列表也可以用list()表示

定义:是为了存储多个有序的数据(列表元素可以是任意的数据类型没有限制)

test=['1',12,1.2,['a',1],(1,2),{'name':'zhangsan'}]
print(test)

 运行结果:

['1', 12, 1.2, ['a', 1], (1, 2), {'name': 'zhangsan'}]

 2.列表的索引和切片

列表的索引、切片和字符串的索引、切片一毛一样,想了解的小伙伴可参考此篇文章

Python字符串的基本操作_晒不黑的黑煤球的博客-CSDN博客

test=['1',12,1.2,['a',1],(1,2),{'name':'zhangsan'}]
print(test[2])
print(test[-1])
print(test[0:3])
print(test[0:-2])
print(test[::-1])

运行结果:

1.2
{'name': 'zhangsan'}
['1', 12, 1.2]
['1', 12, 1.2, ['a', 1]]
[{'name': 'zhangsan'}, (1, 2), ['a', 1], 1.2, 12, '1']

注意:索引超出范围报错,切片超出范围不会报错,会把整个列表打印出来

列表的索引取出的数据类型,该元素是什么类型,取出的就是什么类型

test=['1',12,1.2,['a',1],(1,2),{'name':'zhangsan'}]
print(type(test[0]))
print(type(test[1]))
print(type(test[2]))
print(type(test[3]))
print(type(test[4]))
print(type(test[-1]))
print(test[:101000000])

 运行结果:

<class 'str'>
<class 'int'>
<class 'float'>
<class 'list'>
<class 'tuple'>
<class 'dict'>
['1', 12, 1.2, ['a', 1], (1, 2), {'name': 'zhangsan'}]

 3.列表的嵌套

嵌套的层数没有限制,但通常不能会这么做

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
print(test[3])
print(test[3][1])
print(test[3][1][1])

运行结果:

['a', ['aa', 'bb']]
['aa', 'bb']
bb 

 4.列表的增删改方法

4.1列表的增加

4.1.1 append()方法

append是增加到列表的最后

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
test.append('lucy')
print(test)

 运行结果:

['1', 12, 1.2, ['a', ['aa', 'bb']], (1, 2), {'name': 'zhangsan'}, 'lucy']

4.1.2 insert()方法

增加到指定位置,通过索引增加

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
test.insert(0,'lucy')
print(test)

运行结果:

['lucy', '1', 12, 1.2, ['a', ['aa', 'bb']], (1, 2), {'name': 'zhangsan'}] 

4.1.2 extend()方法

同时增加多个元素到列表最后

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
test.extend(['lucy','suxi','lj'])#注意增加多个元素时要用[]列表
print(test)

运行结果:

['1', 12, 1.2, ['a', ['aa', 'bb']], (1, 2), {'name': 'zhangsan'}, 'lucy', 'suxi', 'lj']

4.2列表的删除

删除是谨慎的操作,一次只能删除一个列表元素

4.2.1 remove()方法

根据列表中元素删除

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
test.remove(1.2)
print(test)
test.remove(['a',['aa','bb']])
print(test)

 运行结果:

['1', 12, ['a', ['aa', 'bb']], (1, 2), {'name': 'zhangsan'}]
['1', 12, (1, 2), {'name': 'zhangsan'}]

4.2.2 pop()方法

根据列表索引删除

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
test.pop()#索引不写,默认删除最后一个元素
print(test)
test.pop(3)
print(test)
test.pop(-2)
print(test)

 运行结果:

['1', 12, 1.2, ['a', ['aa', 'bb']], (1, 2)]
['1', 12, 1.2, (1, 2)]
['1', 12, (1, 2)]

4.2.3 del方法

根据列表索引删除

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
del test[0]
print(test)
del test[-2]
print(test)

运行结果:

[12, 1.2, ['a', ['aa', 'bb']], (1, 2), {'name': 'zhangsan'}]
[12, 1.2, ['a', ['aa', 'bb']], {'name': 'zhangsan'}]

 列表多层嵌套如何删除里层元素

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
#删除最里层的aa,先找到它的位置,然后再删除
test[3][1].remove('aa')
print(test)
#删除bb
test[3].pop(1)
print(test)
#删除字典中name
test[5].pop('name')
print(test)
del test[3][0]
print(test)

运行结果:

['1', 12, 1.2, ['a', ['bb']], (1, 2), {'name': 'zhangsan'}]
['1', 12, 1.2, ['a'], (1, 2), {'name': 'zhangsan'}]
['1', 12, 1.2, ['a'], (1, 2), {}]
['1', 12, 1.2, [], (1, 2), {}]

 4.2.4 clear()方法

清除列表中所有元素

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
test.clear()
print(test)

 运行结果:

[]

4.3列表的修改

test=['1',12,1.2,['a',['aa','bb']],(1,2),{'name':'zhangsan'}]
test[1]='lisi'
print(test)

 运行结果:

['1', 'lisi', 1.2, ['a', ['aa', 'bb']], (1, 2), {'name': 'zhangsan'}]

5.列表的排序

通常是对数字进行排序,字符串排序用的少(字符按ASCII字符排序:大写在前,小写在后)

5.1 sort()方法

正序排列

test=[1,232,23,45346]
test.sort()
print(test)

运行结果:

 [1, 23, 232, 45346]

 扩展内容:

test=[1,232,23,45346]
test.sort(reverse=False)#表示正序排列
print(test)

[1, 23, 232, 45346]

5.2 reverse()方法

倒序排列

test=[1,232,23,45346]
test.reverse()
print(test)

运行结果:

[45346, 23, 232, 1] 

 扩展内容:

test=[1,232,23,45346]
test.sort(reverse=True)#表示倒序排列
print(test)

[45346, 232, 23, 1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值