Python基础-list列表及常见函数

list列表是Python内置的一种数据类型,本质是一种有序的集合,这里将会讲到list的具体的一些用法以及常见的函数

创建列表
语法:列表名 = [元素1,元素2,元素3…元素n]

说明:列表中的选项被称为元素,跟string类似,下标也是从0开始计数,一个列表中的数据类型可以各不相同。

创建列表代码如下:

#创建空列表
list1 = []
#创建带有元素的列表
list2 = [10, 20, 30, 10]
print(list2) #[10, 20, 30, 10]
list3 = [33, "good", True, 10.32]
print(list3) #[33, ‘good‘, True, 10.32]

列表元素的访问
列表的取值
语法:列表名[索引]

功能:访问list列表中元素值

list4 = [22, 33, 12, 32, 45]
#下标从0开始,最大值为len(list4)-1
print(list4[0]) #22

注意:当索引值大于len(list4)-1的时候,会出现以下错误:

IndexError: list index out of range

这个错误就是下标越界【下标超出了可表示的范围】

列表元素的替换
语法:列表名[下标] = 值

功能:更改列表元素的值

list4 = [22, 33, 12, 32, 45]
list4[0] = "hello"
print(list4) #[‘hello‘, 33, 12, 32, 45]

列表的操作
列表组合
语法: list3 = list1 + list2,如下代码:

list1 = [1, 2, 3]
list2 = [‘hello‘,‘yes‘,‘no‘]
print(list1+list2) #[1, 2, 3, ‘hello‘, ‘yes‘, ‘no‘]

列表重复
语法: list2 = list1 * n,如下代码:

list1 = [1, 2, 3]
print(list1*3) #[1, 2, 3, 1, 2, 3, 1, 2, 3]

判断元素是否在列表中
语法:x in list1

若存在则返回True,否则返回False,如下代码:

list1 = [1, 2, 3]
print(1 in list1) #True

列表截取
语法:list1[start:end]

表示获取从开始下标到结束下标的所有元素[start, end)。若不指定start,则默认从0开始截取,截取到指定位置;若不指定end,则从指定位置开始截取,截取到末尾结束。如下代码:

list1 = [1, 2, 3, ‘hello‘, ‘yes‘, ‘no‘]
print(list1[2:4]) #[3, ‘hello‘]

二维列表
语法:list = [list1,list2,…,listn]

创建二维列表,即列表中的元素还是列表,如下代码:

list1 = [[1, 2, 3],[2, 3, 4],[5, 4, 9]]

二维列表取值
语法:list1[n][m]

注意:n代表list列表中第n个列表(下标从0开始),m代表list列表第n个列表中的第m个元素

list1 = [[1, 2, 3],[2, 3, 4],[5, 4, 9]]
print(list1[1][1]) #3

常见函数的使用

list.append(元素/列表)
功能:在列表中末尾添加新的元素【在原本的列表中追加元素】
注意:append()中的值可以是列表也可以是普通元素

list1 = [3, 4, 6]
list1.append(6)
print(list1) #[3, 4, 6, 6]

list.extend(列表)
功能:在列表的末尾一次性追加另外一个列表中的多个值
注意:extend()中的值只能是列表/元组[一个可迭代对象],不能是元素

list1 = [1,2,3]
list2 = [3, 4,5]
list1.extend(list2)
print(list1) #[1, 2, 3, 3, 4, 5]

list.insert(下标值, 元素/列表)
功能:在下标处插入元素,不覆盖原本的数据,原数据向后顺延
注意:插入的数据可以是元素也可以为列表

list1 = [1,2,3]
list1.insert(1,0)
print(list1) #[1, 0, 2, 3]
list1.insert(1,[2, 4, 8])
print(list1) #[1, [2, 4, 8], 0, 2, 3]

list.pop(下标值)
功能:移除列表中指定下标处的元素(默认移除最后一个元素),并返回移除的数据
list1 = [1, [2, 4, 8], 0, 2, 3]
print(list1.pop()) #3
print(list1.pop(2)) #0
print(list1) #[1, [2, 4, 8], 2]

list.remove(元素)
功能:移除列表中的某个元素第一个匹配结果
list1 = [1, 2, 3]
list1.remove(2)
print(list1) #[1, 3]

list.clear()
功能:清除列表中所有的数据
list1 = [1, 2, 3]
list1.clear()
print(list1) #[]

list.index(object[, start][, stop])
功能:从指定的范围的列表中找出某个值第一匹配的索引值 ;若不指定范围,则默认是整个列表
list1 = [1, 2, 3]
print(list1.index(2)) #1

注意:若在列表中找不到这个元素,则会报错。如下:

list1 = [1, 2, 3]
print(list1.index(4))

ValueError: 4 is not in list

list.count(元素)
功能:查看元素在列表中出现的次数
list1 = [1, 2, 3, 1]
print(list1.count(1)) #2

len(list)
功能: 获取元素列表个数
list1 = [1, 2, 3, 1]
print(len(list1)) #4

max(list)
功能: 获取列表中的最大值
list1 = [1, 2, 3, 1]
print(max(list1)) #3

min(list)
功能:获取列表中的最小值
list1 = [1, 2, 3, 1]
print(min(list1)) #1

list.reverse()
功能:将列表中的元素倒叙,操作原列表,不返回新的列表
list1 = [1, 2, 3, 1]
list1.reverse()
print(list1) #[1, 3, 2, 1]

list.sort(reverse=False)
功能:将list中的元素进行升序排列【默认reverse=False】,当reverse为True的时候,降序排列。
list1 = [1, 2, 3, 1]
list1.sort()
print(list1) #[1, 1, 2, 3]

list(元组)
功能:将元组转为列表
list1 = list((1, 2, 3, 4))
print(list1) #[1, 2, 3, 4]

拷贝

赋值拷贝/引用拷贝
语法: list2 = list1
list1 = [1, 2, 3, 1]
list2 = list1
print(list2) #[1, 2, 3, 1]
print(id(list1)) #43148104
print(id(list2)) #43148104

注意:赋值拷贝为引用拷贝,类似于快捷方式

浅拷贝
用法:list2 = list1.copy()
list1 = [1, 2, 3, 1]
list2 = list1.copy()
print(list2) #[1, 2, 3, 1]
print(id(list2)) #35534216
print(id(list1)) #36332360

注意:只适用于一维列表。

不完全内存拷贝,对于一维列表重新开辟了一块内存空间,但若出现二维列表的情况下,因为二维列表存放在一维列表中存放的是列表的地址,因此,若出现二维列表相当于间接的引用了同一块内存区域。

3.深拷贝
import copy
list2 = copy.deepcopy(list1)

完全内存拷贝,相当于将list1中的所有列表中元素重新复制了一份,对于多维的也重新开辟了内存空间,因此它不会出现内存共用的情况。

import copy

list1 = [1,2,3,4,[1,2,3,4]]
list2 = copy.deepcopy(list1)
list2[-1][-1] ="hello"
print(list1) #[1, 2, 3, 4, [1, 2, 3, 4]]
print(list2) #[1, 2, 3, 4, [1, 2, 3, ‘hello‘]]
print(id(list1)) #43225864
print(id(list2)) #43227144

列表的遍历
使用for循环遍历列表
for x in list1
循环体

功能:for循环主要用于遍历列表

遍历:指的是依次访问列表中的每一个元素,获取每个下标对应的元素值

说明:按照顺序获取列表中的每个元素,赋值给变量名,再执行语句,如此循环往复,直到取完列表中所有的元素为止

list1 = [‘hello‘, 78, ‘你好‘, ‘good‘]
for item in list1:
print(item,end=‘ ‘)

#hello 78 你好 good

使用while循环遍历列表[使用下标循环]
index = 0
while index < len(list1):
循环体
index += 1

具体代码如下:

list1 = [‘hello‘, 78, ‘你好‘, ‘good‘]
index = 0
while index < len(list1):
print(list1[index],end=‘ ‘)
index += 1

#hello 78 你好 good

同时遍历下标与元素
for index,value in enumerate(list1):
循环体

enumerate()[枚举]函数用于一个可遍历的数据对象(如列表,元组或者字符串)组合为一个索引序列,同时列出数据与数据下标,一般使用在for循环中

enumerate(obj, [start =0])
obj:一个可迭代对象
start:下标起始位置

具体代码实现如下:

list1 = [‘hello‘, 78, ‘你好‘, ‘good‘]
for index,item in enumerate(list1):
print(index, item)

运行结果如下:

0 hello
1 78
2 你好
3 good

原文地址:https://blog.51cto.com/14447496/2420687

时间: 2024-08-12 19:28:23

Python基础-list列表及常见函数的相关文章

python基础之列表

Python基础之列表 一.列表的切片与增删改查 li = ['李白','韩信','兰陵王','娜可露露','赵云','露娜','王昭君'] #切片与字符串一样,索引值都是从0开始,所用得方法都一样[:][:-1][0:-1][2:4][:4][4:][1:-2:2][1:-3:-2] #列表增append(),insert li.append('关羽') #后面加入['李白', '韩信', '兰陵王', '娜可露露', '赵云', '露娜', '王昭君', '关羽'] print(li) li

python基础三(列表和元组)

数据结构:数据结构是以某种方式(如通过编号)组合起来的数据元素集合.在python中,最基本的数据结构为序列,序列中每个元素都有编号从0开始. 1.序列概述:?python内置了许多种序列,列表.元组.字符串等.?列表和元组的不同在于,列表是可以修改的,而元组不可以,这意味着列表用于需要中途添加元素的情形,而元组适用于禁止修改元素的情形. 1.1.创建列表 假设你现在需要一个东西来储存多个名字,那么用列表正合适 list_name = ["王晓明","李二"] #所

2.python基础之—列表,元组,字典,集合,字符串的使用方法

一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. 解释下个人理解的迭代,迭代(iteration),序列中的迭代就是对序列中的每个元素重复执行某些操作/ 具体的迭代方式后面会说到. 下面就说说python序列的共有特点. 1.索引 一个序列中,所有的元素都有自己的编号,这个编号是从0开始的,这个编号就是所谓的索引,这些元素可以通过索引来依次访问.

python基础之列表常用操作及知识点小结

列表(list) List(列表) 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(所谓嵌套).列表用[ ]标识,是python最通用的复合数据类型. 常用操作 L=[1,2,3,'xyn',5] 代码 含义 输出 L.append(‘a’) 在L列表后追加元素 [1,2,3,’xyn’,5,1,’a’] L.insert(0,’a’) 在L[0]的位置插入’a’ [‘a’,1,2,3,’xyn’,5,1] L.pop(

python基础之列表和元组

python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>> name=['liming','xiaohong',] >>> name ['liming', 'xiaohong'] #第二种方法: >>> age=list([18,17,]) >>> age [18, 17] list有许多功能: >&g

python基础知识-列表,元组,字典

列表(list) 赋值方法: l = [11,45,67,34,89,23] l = list() 列表的方法: 1 #!/usr/bin/env python 2 3 class list(object): 4 """ 5 list() -> new empty list 6 list(iterable) -> new list initialized from iterable's items 7 """ 8 def append

python 基础之列表

name_list = ["alex","Tom","Jon"]name_list[1] ## 取第二个元素#dir(name_list) #helpname_list.append("JJ") # 放在最后name_list.append("JJ")name_list.index("JJ") # 返回JJ 的下标name_list.count("JJ") # 统计n

python基础9 列表,元组操作

本节内容: 1 列表 2 元组 3 参考网页 列表 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作. 定义列表 names = ['Michael', 'Bob', 'Tracy'] 访问列表 通过索引访问 通过下标访问列表中的元素,下标从0开始计数. 使用索引时,千万注意不要越界. >>> names[0] 'Michael' >>

Python 基础之列表和元组

list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> classmates = ['Michael', 'Bob', 'Tracy'] >>> classmates ['Michael', 'Bob', 'Tracy'] 变量classmates就是一个list.用len()函数可以获得list元素的个数: >>> len(c