python学习--列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习--列表相关的知识,希望对你有一定的参考价值。

一:定义

python的列表对象是python中最通用的序列。列表是一个任意类型的对象的位置相关的有序集合,它没有固定的大小。通过对偏移量进行赋值以及其他各种列表的方法进行调用,确实可以修改列表的大小。


二:列表的操作

1:求长度

>>> L=[123, ‘dddd‘,12.5]
>>> len(L)
3

2:索引和切片

>>> L[0]
123
>>> L[:-1]
[123, ‘dddd‘]
>>> L+[‘kai‘,12,‘dd‘]
[123, ‘dddd‘, 12.5, ‘kai‘, 12, ‘dd‘]
>>> L
[123, ‘dddd‘, 12.5]
>>> 

3:增加列表

>>> L.append(‘jj‘)  #默认加在列表的最后
>>> L
[123, ‘dddd‘, 12.5, ‘jj‘]
>>> L.insert(1,‘ww‘)
>>> L
[123, ‘ww‘, 12.5]

4:减小列表

>>> L.pop(3)
‘jj‘
>>> L
[123, ‘dddd‘, 12.5]
[123, ‘ww‘, 12.5]
>>> L.remove(‘ww‘)
>>> L
>>> [123, 12.5]

5:排序,反转

>>> M=[11, 45, 56,23,78] 
>>> M.sort()   #也可以对字符排序
>>> M
[11, 23, 45, 56, 78]
>>> M.reverse()
>>> M
[78, 56, 45, 23, 11]

三:边界检查

列表虽然没有固定大小,但python不允许引用不存在的元素。超出列表末尾之外的索引总是会导致错误,对列表末尾范围之外赋值也是如此。

四:列表嵌套

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

五:列表解析

列表解析源于集合的概念。它是一种通过对序列中的每一项运行一个表达式来创建一个新列表的方法,从左到右,每次一个。
1:提取矩阵的某一列

>>> l=[row[2] for row in L]
>>> l
[3, 6, 9]

2:提取矩阵的某一列并加一

>>> l=[row[1] +1 for row in L]
>>> l
[3, 6, 9]

3:提取矩阵的某一列为偶数的数字

>>> l=[row[1] for row in L if row[1]%2==0]
>>> l
[2, 8]

4:取对角线上的数

>>> diag=[L[i][i] for i in [0,1,2]]
>>> diag
[1, 5, 9]

5:

>>> doubles=[c * 2 for c in ‘sap‘]
>>> doubles
[‘ss‘, ‘aa‘, ‘pp‘]

6:

>>> G=(sum(row) for row in L)
>>> next(G)
6
>>> next(G)
15
>>> next(G)
24
>>> list(map(sum,L))
[6, 15, 24]
>>> {sum(row) for row in L}
{24, 6, 15}
>>> {i : sum(L[i]) for i in range(3)}
{0: 6, 1: 15, 2: 24}

以上是关于python学习--列表的主要内容,如果未能解决你的问题,请参考以下文章

13 个非常有用的 Python 代码片段

python 机器学习有用的代码片段

学习笔记:python3,代码片段(2017)

Python代码阅读(第26篇):将列表映射成字典

Python代码阅读(第25篇):将多行字符串拆分成列表

Python代码阅读(第40篇):通过两个列表生成字典