python程序开发——第三章列表与元组(代码片段)

晚风(●•σ) 晚风(●•σ)     2023-01-07     627

关键词:


一、列表

(一)列表的创建

在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❀列表与元组(代码片段)

文章目录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末尾删... 查看详情

python自动化测试5列表与元组知识总结(代码片段)

文章目录一、前言二、列表讲解2.1列表作用2.2空列表2.3列表索引2.4列表切片2.5列表嵌套2.6列表的操作2.6.1列表元素新增(append/extend/insert)2.6.2列表元素删除(pop/remove/del/clear)2.6.3列表元素修改2.6.4列表元素获取... 查看详情

python面试必考重点之列表,元组和字典第八关——详细描述列表与元组的区别,并举例说明(代码片段)

面试题第八关:第一部分——考点:了解列表和元组的主要区别第二部分——面试题:1.面试题一:请详细描述列表与元组的区别,并举例说明。第三部分——解析:面试题一之列表与元组的区别,并... 查看详情

列表与元组的基本操作(代码片段)

列表介绍:  在代码中以‘[]‘表示的是列表,可以存放任何的数据类型每个元素通过‘,’进行分隔列表具有与字符串一样的索引和切片的功能   列表的增删改查   1.增(append,insert,extend)  语法1:列表1.append(... 查看详情

列表与元组

一、序列概览在Python中,最基本的数据结构是序列:序列中每个元素被分配一个序号——即元素的位置,也称为索引,索引以0开始。Python中有六种内建的序列: 列表 元组 字符串 Unicode字符串 buffer对象 xrange对象 本次的讨论的列... 查看详情

python基本数据类型(元组)(代码片段)

...,因此,元组可以看成是一种不可变的列表。1.元组格式Python用一对括号“()”生成元组,中间的元素用逗号“,”隔开。尽量在最后元素后面加上一个额外的逗号“,”加以区分括号与元组,特别是只含单... 查看详情

python教学课程分享3-列表与元组详解

第3章 列表与元组3.1 序列操作3.1.1 创建序列Python序列一般指列表、元组和字符串,这里以列表为例,当编程人员想创建一个列表序列时,可以遵照以下指令规则(names为随意设定的变量,用来存储列表中的内容):l n... 查看详情

列表与元组,何时使用? [复制]

...?[duplicate]【发布时间】:2010-12-1501:50:09【问题描述】:在Python中,什么时候应该使用列表,什么时候应该使用元组?有时你别无选择,例如,如果你有"hello%syouare%syearsold"%x那么x必须是一个元组。但如果我是设计API并选择数据类... 查看详情

列表与元组——自兴人工智能

  在讲解列表与元组之前我们先了解Python中所有序列都可以进行哪一些特定操作?     包括索引,分片,序列相加,乘法,成员资格,长度,最大值,最小值 一、列表 1,4更新列表 一些序列中... 查看详情

将字符串与元组列表匹配

...发布时间】:2014-01-0901:17:42【问题描述】:大家好,我在Python中有一个问题。我正在尝试使用以前函数的两个返回来创建一个新列表。我想获取元素列表中的每个元素并检查它是否是至少一个副本中的第一个条目。如果是,则将... 查看详情

python:类与元组巨大的内存开销(?)

】python:类与元组巨大的内存开销(?)【英文标题】:python:classvstuplehugememoryoverhead(?)【发布时间】:2017-12-2018:02:02【问题描述】:我在元组/列表中存储了大量复杂数据,但更喜欢使用小型包装类来使数据结构更易于理解,例... 查看详情

03:列表与元组

01:什么是列表列表是一种Sequence类型①有下标②能切片③可以存储任何类型的数据,每个元素是任意类型④可以增删改查02:列表的增删改查查询-获取元素--最快是下标获取 alist[1]=2增加-列表名.append(需要增加的元素值)--从... 查看详情

python其实很简单第九章列表与元组(一)

...将它们按照顺序存储在连续的内存空间中,这便是序列。Python中有5种常用的序列结构,分别是列表、元组、集合、字典和字符串。9.1列表语法格式:listname=[element1,element2,element3,......,elementn]其中,listname为列表名,element1,element2,e... 查看详情

python面试必考重点之列表,元组和字典第三关——连接两个列表的方式有哪些/这些连接方式有什么区别(代码片段)

面试题第三关:第一部分——考点:列表和元组的连接方式2.这些方式有什么区别第二部分——面试题:1.面试题一:连接两个列表的方式有哪些2.面试题二:这些连接方式有什么区别第三部分——解析:面... 查看详情

万字长文第三篇:深入讲解python中一大数据结构之元组(叮叮当~小葵花课堂开课啦!)(代码片段)

引言——在Python中,通过数据结构来保存项目中重要的数据信息。Python语言内置了多种数据结构,例如列表,元组,字典和集合等。本堂课我们来讲一讲Python中举足轻重的一大数据结构——元组。在Python中,... 查看详情

万字长文第三篇:深入讲解python中一大数据结构之元组(叮叮当~小葵花课堂开课啦!)(代码片段)

引言——在Python中,通过数据结构来保存项目中重要的数据信息。Python语言内置了多种数据结构,例如列表,元组,字典和集合等。本堂课我们来讲一讲Python中举足轻重的一大数据结构——元组。在Python中,... 查看详情

python开发---集合(代码片段)

可变不可变:可变:列表不可变:字符串,数字,元组访问顺序:1.直接访问:数字2.顺序访问:字符串,列表,元组3.映射:字典存放元素个数:容器类型:列表,元组,字典原子:数字,字符串=================================集合:... 查看详情

python程序设计实验3:列表元组的应用(代码片段)

实验3:列表、元组的应用1.查找最大元素的索引(1)具体思路(2)编程实现(3)运行并测试2.合并两个排序的列表(1)具体思路(2)编程实现(3)运行并测试3.子列表(1&#x... 查看详情