Python ❀ 列表与元组(python基础教程)

网友投稿 249 2022-08-27


Python ❀ 列表与元组(python基础教程)

文章目录

​​1、列表概念​​

​​1.1 访问列表元素​​​​1.2 索引(从0开始并非1)​​​​1.3 列表中的值​​

​​2、修改、添加、删除列表元素​​

​​2.1 修改列表元素​​​​2.2 添加列表元素​​

​​2.2.1 末尾添加列表元素​​​​2.2.2 插入列表元素​​

​​2.3 删除列表元素​​

​​2.3.1 以索引删除​​​​2.3.2 末尾删除​​​​2.3.3 删除值​​

​​3、组织排列​​

​​3.1 永久性排序​​​​3.2 临时性排序​​​​3.3 反转输出列表元素​​​​3.4 确认列表长度​​

​​4、索引错误​​​​5、遍历列表​​

​​5.1 for循环遍历列表​​

​​6、缩进错误与冒号缺失​​

​​6.1 缩进错误​​​​6.2 冒号缺失​​

​​7、数字列表​​

​​7.1 使用range()函数​​​​7.2 数字列表的统计计算​​

​​8、列表中的一部分​​

​​8.1 切片​​​​8.2 复制列表​​

​​9、元组​​

​​9.1 元组与遍历​​

1、列表概念

列表是一系列按照特定顺序排列的元素集合;元素之间互相独立,没有联系;在Python中使用 [] 表示列表,其中元素使用 , 互相隔离;

a = ["aaa","bbb","ccc",11,22,33,44]print(a)

输出结果:

['', 'bbb', 'ccc', 11, 22, 33, 44]

1.1 访问列表元素

列表是一个有序集合,因此要访问列表中的元素,只需要将该元素的索引告诉Python即可返回对应的元素;

print(a[0])

输出结果:

aaa

当请求列表中的元素时,Python只返回元素的值,并不携带括号与引号;也可以将元素的返回值作为字符串进行一些其他操作,如首字母大写等;

print(a[0].title())

输出结果:

Aaa

1.2 索引(从0开始并非1)

在Python中第一个元素的索引号为0,并不是1;列表的最后一个元素索引为 -1, 当然可以使用正常的排序索引获取末尾值;

a = ["aaa","bbb","ccc",11,22,33,44]print(a[0])print(a[1])print(a[-1])print(a[6])

输出结果:

aaabbb4444

1.3 列表中的值

可以使用列表中的值进行其他操作,如字符串的拼接,数字的运算等;

a = ["aaa","bbb","ccc",11,22,33,44]txt = a[0] + a[1]num = a[3] + a[4]print(txt,num)

输出结果:

aaabbb 33

2、修改、添加、删除列表元素

列表的创建大多数都是动态的,随着程序的运行而增加、修改、删除元素;

2.1 修改列表元素

若需要修改某个列表其中的元素,可以通过元素的索引进行修改,如下代码:

a = ["aaa","bbb","ccc",11,22,33,44]a[0] = 'ddd'print(a[0])

输出结果:

ddd

2.2 添加列表元素

添加元素分为末尾添加和插入两种;

2.2.1 末尾添加列表元素

a = ["aaa","bbb","ccc",11,22,33,44]a.append('eee')print(a[-1])

输出结果:

eee

2.2.2 插入列表元素

a = ["aaa","bbb","ccc",11,22,33,44]a.insert(3,'fff') #在索引为3的位置添加字符串为fff的值print(a[3])

输出结果:

fff

2.3 删除列表元素

在删除元素时也分别有两种删除方法:以索引号进行元素删除操作、末尾删除元素、直接删除元素的值;

2.3.1 以索引删除

使用del()方法删除需要明确知道所删除元素值的相对应索引;

a = ["aaa","bbb","ccc",11,22,33,44]del a[1]print(a)

输出结果:

['aaa', 'ccc', 11, 22, 33, 44]

2.3.2 末尾删除

使用pop()删除会返回删除的内容,因此可以将其赋值给某一个变量进行调用并进行其他操作;

a = ["aaa","bbb","ccc",11,22,33,44]b = a.pop(3)print(a)print(b)

输出结果:

['aaa', 'bbb', 'ccc', 22, 33, 44]11

当删除的元素不需要被使用时,推荐使用del()方法删除;若是删除的元素仍需要被再一次调用,推荐使用pop()方法;

2.3.3 删除值

当不清楚元素的索引时,可以直接操作删除列表中某元素的值;

a = ["aaa","bbb","ccc",11,22,33,44]a.remove('aaa')print(a)

输出结果:

['bbb', 'ccc', 11, 22, 33, 44]

由于使用remove()删除并无返回信息,因此可以将其删除的内容指定到某个变量,进行留存;

a = ["aaa","bbb","ccc",11,22,33,44]b = "aaa"a.remove(b)print(a)print(b)

输出结果:

['bbb', 'ccc', 11, 22, 33, 44]aaa

当remove()删除完成后,删除的值仍保存在变量中,仍可以进行其他相关操作;

3、组织排列

在创建列表的过程中,元素的排序取决于录入元素的顺序,因此需要控制其排列顺序,以构建的顺序进行排列是非常有必要的;

3.1 永久性排序

使用sort()方法可以使得列表永久性排序;可以使用参数reverse=True进行反向排序; sort()只支持单一的类型数据进行排序,如str或int,否则会报类型错误;

a = ["ddd","aaa","rrr"]a.sort()print(a)a.sort(reverse=True)print(a)

输出结果:

['aaa', 'ddd', 'rrr']['rrr', 'ddd', 'aaa']

若列表内包含两种类型的数据时,sort()排序会报错;

a = ["aaa","bbb",131,223,4,1,14]a.sort()print(a)

输出结果:

Traceback (most recent call last): File "D:\Python\Test\Source\venv\05_study_test.py", line 2, in a.sort()TypeError: '<' not supported between instances of 'int' and 'str'

3.2 临时性排序

若是需要保留原来的排列顺序,并且以特定的顺序呈现出来,可以使用函数sorted(),也支持传入参数reverse=True进行反向排序; sorted()函数也只能支持单一的类型数据进行排序,否则会报类型错误;

a = [131,223,4,1,14]print(sorted(a))print(a)

输出结果:

[1, 4, 14, 131, 223][131, 223, 4, 1, 14]

3.3 反转输出列表元素

反转输出指的是以现在的元素顺序进行反向输出;

a = [131,223,4,1,14]a.reverse()print(a)

输出结果:

[14, 1, 4, 223, 131]

3.4 确认列表长度

使用len()函数确认列表长度,返回值为int类型;

a = [131,223,4,1,14]b = len(a)print(a)print(type(b))

输出结果:

[131, 223, 4, 1, 14]

4、索引错误

在列表的元素查询比较容易出现的错误为索引错误;

a = [131,223,4,1,14]print(a[10])

输出结果:

Traceback (most recent call last): File "D:\Python\Test\Source\venv\05_study_test.py", line 2, in print(a[10])IndexError: list index out of range

如上代码,索引错误最常见的引发原因为列表索引超出范围;

5、遍历列表

遍历列表:对列表中的每个元素执行相同的操作;此行为在代码中被称为循环操作,因此我们可以使用for循环来执行遍历操作;

5.1 for循环遍历列表

循环非常重要,可以自动完成重复的工作;

a = [131,223,4,1,14]for i in a: print(i)

输出结果:

1312234114

如上代码所示,以变量 i 的不同赋值来输出列表 a 中元素的值,最后使用print()打印; for循环每次重复操作结束自动执行换行,可以传递参数end=""修改结束符号是否需要换行;

a = [131,223,4,1,14]for i in a: print(i,end=",")

输出结果:

131,223,4,1,14,

6、缩进错误与冒号缺失

Python根据缩进判断代码行与前一个代码行的关系;

6.1 缩进错误

主要出现以下几种情况:

忘记代码缩进;不必要的缩进;错误的缩进;

a = [131,223,4,1,14]

输出结果:

File "D:\Python\Test\Source\venv\05_study_test.py", line 1 a = [131,223,4,1,14]IndentationError: unexpected indent

缩进错误,出现意想不到的缩进;

6.2 冒号缺失

a = [131,223,4,1,14]for i in a print(i,end=",")

输出结果:

File "D:\Python\Test\Source\venv\05_study_test.py", line 2 for i in a ^SyntaxError: expected ':'

语法错误,缺少冒号;

7、数字列表

若是需要存储一些有规律的数字,那么直接通过列表的编写就显得十分繁琐,因此Python提供了很多的函数,来高效的完成此工作;

7.1 使用range()函数

函数 range() 能够较快的生成一系列数字; 代码格式:

range(起始元素,结束元素,步长)

需要注意的是结束数字为开区间,无法取值,若需要取值结束数字加1即可;

for i in range(1,9,2): print(i)

输出结果:

1357

使用range()函数创建列表;

ls1 = list(range(0,10))print(ls1)

输出结果:

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

7.2 数字列表的统计计算

通过列表计算其元素最大值、最小值、总和;

ls1 = list(range(0,10))print(ls1)a = max(ls1)b = min(ls1)c = sum(ls1)print(a,b,c)

输出结果:

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

8、列表中的一部分

处理Python中的一部分元素被称为切片;

8.1 切片

代码格式:

[起始元素 : 结束元素 : 步长]

切片与range函数一样,结尾取值需要加1;切片的遍历也可以直接使用for循环,与列表的遍历方式完全一致(切片后的数据相当于列表的一个子列表)

ls1 = list(range(0,10))print(ls1)print(type(ls1))a = ls1[1:3]print(a)

输出结果:

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

结尾取值如下:

ls1 = list(range(0,10))print(ls1)a = ls1[1:3]print(a)b = ls1[1:3+1]print(b)

输出结果:

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

8.2 复制列表

由于切片的参数,起始元素与结束元素不定义时,则以为全部切片,等同于复制操作;

ls1 = list(range(0,10))print(ls1)a = ls1[:]print(a)

输出结果:

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

9、元组

在使用Python中有时候我们需要创建一些列不可修改的元素,元组就可以满足这个需求,元组将元素变为不可变类型;

9.1 元组与遍历

代码格式:

(起始元素 : 结束元素 : 步长)

元组看起来与列表一样,使用小括号进行标识,索引方式与列表完全一致,唯一的区别是元素不可修改;

tp1 = tuple(range(0,10))print(tp1)print(type(tp1))

输出结果:

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

元组的遍历与列表完全一致;

for i in tp1[0:3]: print(i)

输出结果:

012

元组不可修改,但是可以给元组进行变量赋值,修改变量的值进而修改元组的内容;


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python ❀ 软件安装与环境部署(python下载安装教程)
下一篇:Python ❀ 字典(python编程)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~