Python程序开发——第三章 列表与元组

Posted 晚风(●•σ )

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python程序开发——第三章 列表与元组相关的知识,希望对你有一定的参考价值。


一、列表

(一)列表的创建

在Python中有两种方式可以创建列表。
1、第一种是可以通过使用中括号,即[]来创建列表,其中列表的元素使用逗号分隔开,其中字符串类型可以用单引号或双引号都可以表示。
如下python代码,列表a中元素的类型为字符串,列表c是一个空列表:

a = ["C", "S", "D", "N"]
b = [1, 2, 3.5, 6.66]
c = []
print(a)
print(b)
print(c)

运行结果如下:

2、第二种是可以通过内置函数list()来创建列表,要注意该内置函数必须要接收的参数是可迭代的。
如下python代码,也可以在list()函数中通过[]来创建含多个元素的列表:

a = list("csdn")
b = list("123456")
c = list([1, 2, "python", "java"])
d = list()
print(a)
print(b)
print(c)
print(d)

运行结果如下:

(二)访问列表元素

可以通过索引切片的方式访问列表元素的值,这里的两种方式与之前的字符串的索引和切片一样,索引从0开始,都是可以获取指定元素或部分元素,由于列表和字符串一样,它们都是可迭代对象(后面讲的元组、字典、集合也是一样)。

1、索引获取列表中指定元素,如下python代码,通过正向、负向索引来访问列表中的元素:

a = ["python", "java", "c", "c#", "c++"]
print("使用索引来访问列表中的元素:")
print(a[2])
print(a[0])
print(a[-1])

运行结果如下:

2、切片获取列表中部分元素,从而得到一个新的列表,如下python代码,通过切片来访问列表中部分元素,这里的print(a[:])输出的是列表的所有元素:

a = ["python", "java", "c", "c#", "c++"]
print("使用切片来访问列表中的元素:")
print(a[0:5:3])
print(a[2:1])
print(a[3:])
print(a[:3])
print(a[:])

运行结果如下:

(三)列表的增删改

1、添加列表元素,可以通过函数append()、extend()、insert()三个内置函数来添加列表新的列表元素。
insert()函数用于将元素插入到列表的指定位置
append()函数用于在列表末尾添加新的元素
extend()函数用于在列表末尾添加另一个列表
其示例如下python代码:

a = ["python", "java"]
a.insert(0, "c++")
a.insert(-1, "c")
print(a)
b = ["1班", "2班"]
b.append("3班")
print(b)
c1 = ["1班", "2班"]
c2 = ["3班", "4班", "5班"]
c1.extend(c2)
print(c1)

运行结果如下:

2、删除列表元素,可以通过del、remove()、pop()三种方法来删除列表中的元素。
del语句用于删除列表中指定元素,可以使用索引或切片来指定要删除的元素。
其示例如下python代码:

a = ["python", "java", "c", "c++"]
del a[0]
print(a)
del a[0:3:2]
print(a)

运行结果如下:

remoe()函数用于删除列表中指定元素,若有多个指定元素,则只删除第一个相同的指定元素;
其示例如下python代码:

b = ["python", "java", "c", "c++", "c"]
b.remove("java")
print(b)
b.remove("c")
print(b)

运行结果如下:

pop()函数用于删除列表中指定元素,可以通过索引来指定要删除元素,若不指定,则只删除该列表的末尾元素。
其示例如下python代码:

c = [1, 2, 3, 4, 5]
c.pop(0)
print(c)
c.pop()
print(c)

运行结果如下:

3、修改列表元素,可以通过索引访问元素并对该元素进行修改,即重新赋值该元素。
其示例如下python代码:

a = ["python", "java", "c", "c++"]
a[3] = "c#"
print(a)

运行结果如下:

(四)列表的遍历和排序

1、列表的遍历,由于列表是个可迭代对象,可以通过for循环遍历列表中的各元素。
例如下列Python代码,通过for循环遍历列表并依次输出临时变量:

a = ["Python", "CSS", "Java", "C++"]
for i in a:
    print(i)
b = [100, 200, 300]
for l in b:
    print(l)

运行结果如下:

2、列表的排序,可以通过sort()、sorted()、reverse()三种函数对列表进行排序,要注意排序后的列表将会替换原本的列表。
sorted()函数用于将列表中的元素升序排序,例如下列python代码:

a = ["20", "-1.2", "0", "1"]
print(sorted(a))

运行结果如下:

sort()函数有两个参数,参数key指定排序规则,可以为列表支持的函数,而参数reverse指定列表元素排序的方式(默认值为False,即升序排列,若reverse=True,则表示降序排列)。
例如,下列Python代码,列表a只设置了参数reverse,且reverse=True,表示将列表按降序排列;列表b设置参数key,且key=len,len()函数可以用于计算字符串的长度,表示根据字符串的字符长度进行排序,且参数key为默认值即升序排列:

a = ["20", "-1.2", "0", "1"]
a.sort(reverse=True)
print(a)
b = ["python", "php", "c", "c#"]
b.sort(key=len)
print(b)

运行结果如下:

reverse()函数用于将列表中的元素倒序排序,注意这里的不是降序排序,而是将原来列表元素的顺序颠倒过来。
例如,下列python代码:

a = ["20", "-1.2", "0", "1"]
print(sorted(a))

运行结果如下,可以发现列表中元素被颠倒:

(五)列表的嵌套

列表可以进行嵌套,即在一个列表中嵌套列表。
例如下列Python代码,访问嵌套列表中的值:

a = ["南区", "北区"]
b = ["1班", "2班"]
c = [a, b]
print(c)
print(c[0][-1])
print(c[-1][-1])

运行结果如下:

也可以向嵌套的内层列表中添加元素,首先要获取内层列表,然后再添加,如下python代码,向第一个列表中添加元素,且在内层列表的第一个:

a = ["南区", "北区"]
b = ["1班", "2班"]
c = [a, b]
print(c)
c[0].insert(0, "东区")
print(c)

运行结果如下:

二、元组

(一)元组的创建

元组的创建方式也有两种,元组的创建与列表差不多,相比列表,元组内的元素不允许修改
1、第一种方式使用的是圆括号,即()来创建列表,元组内的元素也是使用逗号分隔开,字符串类型可以用单引号或双引号都可以表示。
不过也可以不需要圆括号来创建元组,一般最好加上。
例如,下列Python代码:

a = ()
b = ("b", "l", "u", "e")
c = (1, 2, 3, 4, 5, 6)
d = "第一", "第二", "第三", "第四"
print(a, b, c, d)

运行结果如下,创建的a元组是个空元组:

注:当元组只包含一个元素时,也要在元素后面加上逗号,表示这是个元组。
2、第二种方式是通过tuple()函数来创建元组,函数接收的元素是可迭代的,若函数内没有值,则创建一个空元组。
例如,下列Python代码,其中元组d中元组的元素为一个列表:

a = tuple()
print(a)
b = tuple("tooth")
print(b)
c = tuple("123456")
print(c)
d = tuple(["对", "错"])
print(d)

运行结果如下:

(二)访问元组元素

和列表一样,也是可以通过索引和切片来访问元组的元素,例如下列python代码:

a = tuple("tooth")
b = tuple("123456")
print(a[0])
print(a[1])
print(b[2:5:1])

运行结果如下:

(三)元组的连接组合和删除

1、由于元组中的元素是不能修改的,即每个元素的指向是永远没有改变的,除非元组中含有可变类型的数据,比如元组中的元素是一个列表时。
可以通过对元组连接组合,即将两个元组组合在一起形成一个新的元组,例如下列python代码:

a = tuple("语文")
b = tuple("数学")
c = a + b
print(c)

运行结果如下:

2、虽然元组中的元素不能删除,但是可以使用del语句来删除整个元组,例如下列python代码:

a = tuple("tooth")
del a

以上是关于Python程序开发——第三章 列表与元组的主要内容,如果未能解决你的问题,请参考以下文章

python列表与元组的用法

python学习笔记之列表与元组

Python3.7之列表与元组

python-列表与元组

3python自学之路-数据类型之序列与元组

python列表与元组