python数据类型表_python数据类型之列表

列表定义

列表是由一系列案特定顺序排列的元素组成。在python中,用方括号([])来表示,并用逗号来分隔其中的元素。

names = ['Alex',"Tenglan",'Eric']

列表访问

列表元素的访问从索引0开始,而不是索引1开始。

列表的索引可以是从负数开始。这种语法经常在需要在不知道列表长度的情况下访问元素。

713e5208d0e7f4c5

713e5208d0e7f4c5

>>names[0]'Alex'

>>> names[2]'Eric'

>>> names[-1]'Eric'

>>> names[-2] #还可以倒着取

'Tenglan'

View Code

列表操作

修改列表元素

713e5208d0e7f4c5

713e5208d0e7f4c5

>>>names

['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']>>> names[2] = "该换人了"

>>>names

['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

View Code

添加列表元素

从列表末尾添加,利用append方法。

713e5208d0e7f4c5

713e5208d0e7f4c5

>>>names

['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']>>> names.append("我是新来的")>>>names

['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

View Code

从列表任意位置添加,利用insert方法。

713e5208d0e7f4c5

713e5208d0e7f4c5

>>>names

['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']>>> names.insert(2,"强行从Eric前面插入")>>>names

['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']>>> names.insert(5,"从eric后面插入试试新姿势")>>>names

['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

View Code

删除列表元素

利用“del”删除,删除的列表元素不能再使用。

713e5208d0e7f4c5

713e5208d0e7f4c5

>>> del names[2]>>>names

['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']>>> del names[4]>>>names

['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']>>>

View Code

利用pop方法删除

在pop方法中,默认是从列表末尾删除,但也可以给pop方法传参,参数表示列表的索引;利用pop方法弹出的列表元素可以被再次使用。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>>name = ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']2 >>> names.pop() #删除列表最后一个值

3 '我是新来的'

4 >>>names5 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']6

7 >>> names.pop(2) #删除列表任意一个值

8 '我是新来的'

9 >>>names10 ['Alex', 'Tenglan', 'Tom', 'Amy']

View Code

利用列表元素值删除

使用remove方法实现。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>>name = ['Alex', 'Tenglan', 'Eric', 'Rain']2 >>>name.remove('Eric')3 ['Alex', 'Tenglan','Rain']

View Code

如果要从列表中删除一个元素,而这个元素不会再以任何方式使用,那么就用“del”删除,反之,用pop方法删除。

方法remove只能删除第一个指定的元素。如果要删除的值在列表中存在多个,那么就要用循环去删除。

列表排序

永久性改变列表顺序

利用sort方法实现。给sort方法的参数为“reverse=True”时,可以反向排序;排序的原则是按照字母顺序排序的。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']2 >>>names.sort()3 >>>names4 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']5

6 >>> names.sorted(reverse=True) #反转

7 >>>names8 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

View Code

同样也可以利用reverse方法实现反转。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']2 >>>names.sort()3 >>>names4 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']5

6 >>> names.reverse() #反转

7 >>>names8 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

View Code

还需要注意的是,在python3中,不同数据类型是无法排序的

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>>names2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]3 >>> names.sort() #排序

4 Traceback (most recent call last):5 File "", line 1, in

6 TypeError: unorderable types: int() < str()

View Code

保留原来列表的排列顺序

利用sorted方法实现。跟sort方法同理,给sorted方法的参数为“reverse=True”时,可以反向排序。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>>names = ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']2 >>>print(sorted(names))3 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']4

5 >>>print(names)6 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']

View Code

列表元素下表获取

利用index方法实现。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>> print(names)2 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']3 >>> names.index("Amy")4 2 #只返回找到的第一个下标

View Code

列表元素出现次数获取

利用count方法实现

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>> print(names)2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]3 >>> names.count("Amy")4 2

View Code

获取列表长度

利用len方法实现。需要注意的是,在计算列表长度时,是从1开始的。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>> names = ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']2 >>>len(names)3 8

View Code

列表切片操作

需要注意的是,“:”前面的索引表示起始位置,“:”后面的索引表示终止位置。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]2 >>> names[1:4] #取下标1至下标4之间的数字,包括1,不包括4

3 ['Tenglan', 'Eric', 'Rain']4 >>> names[1:-1] #取下标1至-1的值,不包括-1

5 ['Tenglan', 'Eric', 'Rain', 'Tom']6 >>> names[0:3]7 ['Alex', 'Tenglan', 'Eric']8 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样

9 ['Alex', 'Tenglan', 'Eric']10 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写

11 ['Rain', 'Tom', 'Amy']12 >>> names[3:-1] #这样-1就不会被包含了

13 ['Rain', 'Tom']14 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个

15 ['Alex', 'Eric', 'Tom']16 >>> names[::2] #和上句效果一样

17 ['Alex', 'Eric', 'Tom']

View Code

列表解析

列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>>s = [value**2 for value in range(1,5)]2 >>>print(s)3 [1, 4, 9, 16]

View Code

数值列表

可以利用list方法和range方法,快速实现定义数值列表。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>>numbers = list(range(1,30,3))2 >>>print(numbers)3 [1, 4, 7, 10, 13, 16, 19, 22, 25, 28]

View Code

可以利用max方法,min方法和sum方法,计算需要的值。

713e5208d0e7f4c5

713e5208d0e7f4c5

1 >>>numbers = list(range(1,30,3))2 >>>print(numbers)3 >>>print(min(numbers))4 >>>print(max(numbers))5 >>>print(sum(numbers))6 [1, 4, 7, 10, 13, 16, 19, 22, 25, 28]7 1

8 28

9 145

View Code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值