python列表创建操作_(MAX第六篇)Python列表(List)创建及操作大全(一)

列表目录1. 列表的创建与元素1.1 中括号1.2 range()1.3 List()生成2. 列表的索引2.1 访问2.1.1 长度`(len)`元素个数2.1.2 list in list2.1.3 `IndexError`2.2 元素计数`list.count(obj)`2.3 反查索引2.4 求和,平均值、最大(小)值2.4.1 求和 sum2.4.2 平均值(mean)2.4.3 最大值(max)2.4.4 最小值(min)

1. 列表的创建与元素

列表(List)就如同一个数据收纳盒,可以收纳数字、字符串、符号、列表、元组等等内容,收纳的事物都是作为列表的元素。

列表因为其易操作、多变,在很多地方用处都是很大的。

列表是可变类型。

1.1 中括号

列表是由中括号把元素括起来得到的结果

>>> list=[2,3,'Max','2','~!',[1,2,'3'],(3,2)]>>> list#包含数字,包含字符串,包含列表,包含(3,2)这样的坐标元组

[2, 3, 'Max', '2', '~!', [1, 2, '3'], (3, 2)]>>> Names=['Max','Kiki',"Melinda"]>>> Names

['Max', 'Kiki', 'Melinda']

1.2 range()

range()是一个生成连续自然数的函数。

在python2.x中会直接生成列表:

>>> range(10)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

在Python 3.x中只是返回本身

>>> range(10)

range(0, 10)

在python 3.x中用range()生成列表,只需要使用list()函数即可。

1.3 List()生成

list(range(n))默认是从0开始,到n-1结束,最后不到n,左闭右开(共n个数)

>>> list(range(10)) #默认是从0开始,最后不到10.左闭右开

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

list(range(1,n))从1开始,到n-1结束,最后不到n,左闭右开(共n-1个数)

>>> list(range(1,10)) #指定从1开始,到9结束,取不到10,左闭右开。

[1, 2, 3, 4, 5, 6, 7, 8, 9]

list(range(m, n, i)从m开始,到n-1结束,但是有一个步长参数i,每i个选取

#从3开始,每两个取一个数,生成的是奇数列表

>>> list(range(3,30,2))

[3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29]#从2开始,每两个取一个数,生成的是偶数列表

>>> list(range(2,30,2))

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28]>>> list((2,34,5,2,5)) #可以把括号括起来的一组数转化为列表

[2, 34, 5, 2, 5] #实际为元组转化列表

#如果加上步长,又不提供开始位置的参数,则返回的为空

>>> list(range(40,3))

[]#生成3的倍数的列表

>>> list(range(0,40,3))

[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39]#生成整百列表

>>> list(range(0,1001,100))

[0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]

列表可以通过str变成字符串

>>> str([1,2,3])

'[1, 2, 3]'

>>> str(['asd','12',1,2])

"['asd', '12', 1, 2]"

2. 列表的索引

列表的元素的访问和字符串的访问是一样的,使用对象加中括号list [ ]的形式。索引从0开始,索引值不能超过元素的个数-1。

2.1 访问

2.1.1 长度(len)元素个数

首先要清楚列表元素个数用len(list)。

>>> Apple=['Mac','Macbook','iphone','iwatch','ipad','ipod']>>> len(Apple) #Apple列表的元素个数

6

>>> list(range(2,30,2))

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28]>>> len(list(range(2,30,2))) #偶数个数

14

>>> Apple=['Mac','Macbook','iphone','iwatch','ipad','ipod']>>> Apple[0] #取索引为0的第一个元素

'Mac'

>>> Apple[4]#取索引为4的第五个元素

'ipad'

>>> Apple[2:5]#取索引2到4的元素,即第三个到第五个元素,不能取到索引为5的元素,左闭右开

['iphone', 'iwatch', 'ipad']>>> Apple[:]#取全部元素,即整个列表

['Mac', 'Macbook', 'iphone', 'iwatch', 'ipad', 'ipod']>>> Apple[:4]#取前四个元素

['Mac', 'Macbook', 'iphone', 'iwatch']>>> Apple[-4:-1]#取倒数第四个到倒数第二个元素,取不到最后一个。

['iphone', 'iwatch', 'ipad']

2.1.2 list in list

如果列表中的元素包含列表,则索引需要使用两个[ ],以此类推。

>>> list=[[1,2,3],['Max',4,'Kiki']]>>> list[0][1] #列表元素的第一个列表的第二个元素

2

>>> list[1][2] #列表元素的第二个列表的第三个元素

'Kiki'

>>> list[1][0] #列表元素的第二个列表的第一个元素

'Max'

2.1.3 IndexError

当索引直接是len(list),会出现indexError,超出范围。

>>> Apple[len(Apple)]Traceback (most recent call last):

File "", line 1, in

Apple[len(Apple)]IndexError: list index out of range

#索引值为长度减-,则取得是最后一个元素。

>>> Apple[len(Apple)-1]'ipod'

#自行领悟下面两个

>>> Apple[len(Apple)-1]==Apple[-1]True

>>> Apple[len(Apple)-2]==Apple[-2]True

2.2 元素计数list.count(obj)

查看列表中元素出现的次数。

>>> list=[1,2,2,2,2,3,4,5,5,5,5,5,5,5,5,5,5,]>>> list.count(1) #1个1

1

>>> list.count(2) #4个2

4

>>> list.count(5) #10个5

10

>>> names=['Max','Max','Max','Kiki','Kiki','Melinda']>>> names.count('Max') #3个Max

3

>>> names.count('Kiki') #2个Kiki

2

2.3 反查索引

list.index(obj)是查找元素所在的索引值。

>>> Apple.index('Macbook')

1

>>> Apple.index('ipad')

4

如果有相同的元素,则返回第一个元素的索引值。

>>> names=['Max','Max','Max','Kiki','Kiki','Melinda']>>> names.index('Max')

0

>>> names.index('Kiki')

3

2.4 求和,平均值、最大(小)值

2.4.1 求和 sum

code为sum( list )

>>> sum(list(range(1,20))) #1-19的和

190

>>> sum(list(range(2,30,2))) #2-30的偶数和

210

>>> sum(list(range(1,101))) #1-100的和

5050

2.4.2 平均值(mean)

求平均值sum(list) / len(list),如果要计算加权平均数可以使用后面讲的for循环或者可以使用numpy模块。

>>> sum(list(range(1,101)))/len(list(range(1,101)))

50.5

>>> a=[1,3,3,5,6,2,6,24,67,84]>>> sum(a)/len(a)

20.1

2.4.3 最大值(max)

求最大值max(list)

>>> max([1,23,533,645,73567])

73567

2.4.4 最小值(min)

求最小值min(list)

>>> min([1,23,533,645,73567])

1

作者:Maxwang888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值