Python —— 列表

1 定义

用于存储任意数目、任意类型的数据集合。        
List (列表)是 Python 内置的一种数据类型。
标准语法格式: 
1. a = [10,20,30,40]
2. a = [10,20,‘abc’,True]

是一种有序的集合,可以随时增加或删除其中的元素。标识是中括号[ ]。

2 创建

2.1 基本语法创建

a=[10,20,'yangyaqi','石家庄学院',True]
a

[10, 20, ‘yangyaqi’,‘石家庄学院’,True]

a=[]

[]

2.2 list()函数创建列表

使用list()可以将任何可迭代的数据转化成列表。

在使用 list() 函数创建列表时,一定要注意双括号。

在Python中,我们可以使用 list() 函数将字符串、元组、字典和集合等其他类似对象转换为列表

b=list() #创建空列表
b=list(range(10))
b

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

this_list = list(('apple', 'banana', 'cherry'))
this_list

[‘apple’, ‘banana’, ‘cherry’]

this_list=list('apple')
this_list

[‘a’, ‘p’, ‘p’, ‘l’, ‘e’]

3 常用方法

方法

要点

描述

list.append(x)

增加元素

将元素x增加到列表list尾部

list.extend(aList)

增加元素

将列表alist所有元素加到列表list尾部

list.insert(index,x)

增加元素

在列表list指定位置index处插入元素x

list.remove(x)

删除元素

在列表list中删除首次出现的指定元素x

list.pop(lindex])

删除元素

删除并返回列表list指定为止index处的元素,默认是最后一个元素

list.clear()

删除所有元素

删除列表所有元素,并不是删除列表对象

list.index(x)

访问元素

返回第一个x的索引位置,若不存在x元素抛出异常

list.count(x)

计数

返回指定元素x在列表list中出现的次数

len(list)

列表长度

返回列表中包含元素的个数

list.reverse()

翻转列表

所有元素原地翻转

list.sort()

排序

所有元素原地排序

list.copy()

浅拷贝

返回列表对象的浅拷贝

4 操作

4.1 元素层面

4.1.1 元素的提取
  1. 偏移量:
    列表的偏移量从0开始
    列表名后带偏移量的中括号,对应相应位置的元素
  2. 通过偏移量对列表进行定位
  3. 在嵌套的列表中也是如此列表
4.1.2 元素的修改
使用赋值语句修改
4.1.3 元素的增加

+运算符操作

并不是真正的尾部添加元素,而是创建新的列表对象;将原列表的元素和新列表的元素依次复制到新的列表对象中。这样,会涉及大量的复制操作,对于操作大量元素不建议使用。

append.函数

原地修改列表对象,是真正的列表尾部添加新的元素,速度最快,推荐使用。

extend()方法

将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象。

insert()插入元素

使用insert()方法可以将指定的元素插入到列表对象的任意制定位置。这样会让插入位置后面所有的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用。类似发生这种移动的函数还有:remove()、pop()、del(),它们在删除非尾部元素时也会发生操作位置后面元素的移动。

extend()方法

将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象。

功能:括号里放一个元素,可将该元素添加到列表末尾
格式为:列表名append0
4.1.4 元素的删除

del方法

a=[100,200,888,300,400] del a[1] a

[100, 888, 300, 400]

pop方法

删除并返回指定位置元素,如果未指定位置则默认操作列表最后一个元素。

a=[10,20,30,40,50] a.pop() a

[10, 20, 30, 40]

remove()方法

删除首次出现的指定元素,若不存在该元素抛出异常。

a = [10,20,30,40,50,20,30,20,30] a.remove(20) #这里的20是数据,不是索引 a

[10, 30, 40, 50, 20, 30, 20, 30]

功能:删除列表元素
格式为: del 列表名偏移量

4.2 列表层面

4.2.1 列表的切片
从列表中提取一段连续的数据,生成一个新列表
通过偏移量对列表范围进行定位
[1:3]的范围为1<=x<3,包头不包尾
冒号左右的值可不填,冒号某侧不取值则取到底
4.2.2 列表的修改
直接使用赋值语句
4.2.3 列表的增加
使用运算符号 +
注意:符号+只能用于列表间合并
4.2.4 列表的删除
使用del
4.2.5 列表的遍历

for obj in listObj: print(obj)for x in a: print(x,end="#")

10#20#30#40#50#20#30#20#30#

4.2.6 复制列表所有的元素到新列表对象

list1 = [30,40,50] list2 = list1list1 = [30,40,50] list2 = [] + list1

4.2.7 列表排序

sort方法

a.sort()

sorted方法:返回新列表,不对原列表做修改。

a = sorted(a)

reversed()返回迭代器:支持进行逆序排列,不对原列表做任何修改,只是返回一个逆序排列的迭代器对象。

c = reversed(a)

5 range()创建整数列表

range()可以帮助我们非常方便的创建整数列表,这在开发中及其有用。为:
start参数:可选,表示起始数字。默认是0
end参数:必选,表示结尾数字。
step参数:可选,表示步长,默认为1
python3中range()返回的是一个range对象,而不是列表。我们需要通过list()方法将其转换成列表对象。

语法格式:range([start,] end [,step])

list(range(3,15,2))

[3, 5, 7, 9, 11, 13]

6 列表推导式

列表推导式是 Python 中一种简洁而强大的工具,用于创建列表对象的一种快捷方式。它允许我们以一行代码生成列表,并且可以在生成过程中对元素进行筛选、变换和组合。

语法格式

[expression1 if condition else expression2 for item in iterable]
result = []
for item in iterable:
    if condition1:
        result.append(expression1(item))
    else:
        result.append(expression2(item))
numbers = [1, 2, 3, 4, 5]
even_odd = ['even' if num % 2 == 0 else 'odd' for num in numbers]
print(even_odd)

[‘odd’, ‘even’, ‘odd’, ‘even’, ‘odd’]

[expression for item in iterable]

其中,expression 是生成列表元素的计算表达式,item 是可迭代对象中的每个元素,iterable 是一个可迭代对象(如列表、元组、集合等),它相当于:

result = []
for item in iterable:
    result.append(expression(item))
[expression for item in iterable if condition]
result = []
for item in iterable:
    if condition:
        result.append(expression(item))
#筛选偶数的列表:
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)

[2, 4, 6, 8, 10]

7 多维列表

a=[ ["st1",18,30000,"北京"], ["st2",19,20000,"上海"], ["st3",20,10000,"深圳"],]#嵌套循环打印二维列表所有的数 for m in range(3): for n in range(4): print(a[m][n],end="\t") print()#打印完一行,换行

st1 18 30000 北京
st2 19 20000 上海
st3 20 10000 深圳

思维导图

python二维列表求平均分 python 二维列表_python