Python基础-列表(list)和元组(tuple)

Python包含6种内建的序列:列表,元组,字符串,Unicode字符串,buffer对象,xrange对象,本文讨论列表和元组。

1.列表可以修改,元组则不能修改。

2.几乎在所有的情况下,列表都可以替代元组。

一、【列表(list)】

#1.语法:列表的各个元素用","分割,写在方括号中。

#如:用列表表示数据库中一个人的信息:姓名,性别,年龄

zhangsan=['张三','男',30]

lisi=['李四','女',28]

print(zhangsan)

print(type(zhangsan))

#输出:['张三', '男', 30]

#输出:<class 'list'>

#2.列表可以包含其他列表,如:

zhangsan=['张三','男',30]

lisi=['李四','女',28]

users=[zhangsan,lisi]

print(users)

#输出:[['张三', '男', 30], ['李四', '女', 28]]

#3.所有序列类型都可以进行:索引,分片,加,乘等操作,以及包含检查元素是否存在,序列长度,最大元素,最小元素等内建函数。

#3.1 索引:索引从0开始递增;使用负数索引时,会从右边计数,右边最后一个元素位置编号是-1,不是0

hello="HelloWorld"

print(hello[0]+"-"+hello[-1])

#输出:H-d

#3.2 分片:通过分片来访问一定范围内的元素,通过冒号相隔的两个索引来实现。注意:第1个索引的元素包含在分片内,第2个索引的元素不包含在分片内

hello="SayHelloWorld"

print(hello[3:8])  

#输出:Hello

#分片步长:默认步长为1,分片按照这个步长遍历序列元素,然后返回开始和结束点之间的所有元素。

print(hello[3:8:2])  

#输出:Hlo

#3.2 序列相加:两种相同类型的序列才能进行连接操作

a=[1,2,3]

b=[4,5,6]

print(a+b)

#输出:[1, 2, 3, 4, 5, 6]

#3.3 乘法:用数字x乘以一个序列,会得到将原序列元素重复x次的新序列

a=[1,2,3]

print(a*3)

#输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]

#3.4 检查元素是否存在:使用in运算符

print("H" in hello)

#输出:True

zhangsan=['张三','男',30]

lisi=['李四','女',28]

users=[zhangsan,lisi]

print(['张三','男',30] in users)

#输出:True

#3.5 len(),max(),min() 函数

num=[100,34,678]

print(str(len(num))+"-"+str(max(num))+"-"+str(min(num)))

#输出:3-678-34

#4.列表方法(函数)

#4.1 list()函数:因为字符串不能像列表一样被修改,可以将字符串转换为列表

hello="HelloWorld"

hellolist=list(hello)

print(hellolist)

#输出:['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']

#反之,将列表组装成字符串,需要用到join函数

hello2="".join(['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd'])

print(hello2)

#输出:HelloWorld

#4.2 del 删除元素

names=["zhangsan","lisi","wangwu"]

del names[1]

print(names)

#输出:['zhangsan', 'wangwu']

#4.3 append()方法:在列表末尾追加新元素

num=[1,2,3]

num.append(4)

print(num)

#输出:[1, 2, 3, 4]

#4.3 count()方法:统计某个元素在列表中出现的次数

chars=['A','B','A','C','A']

print(chars.count("A"))

#输出:3

#4.4 extend()方法:在列表的末尾一次性追加另一个序列中的多个值

#注意:extend()方法修改了被扩展的序列,而a+b是两个序列的连接操作,它返回的是一个新的序列

a=[1,2,3]

b=[4,5,6]

c=a+b

a.extend(b)

print(a)

print(c)

#输出:[1, 2, 3, 4, 5, 6]

#输出:[1, 2, 3, 4, 5, 6]

#4.5 index()方法:用于在列表中找出某个值第一个匹配的索引位置

chars=['A','B','A','C','A']

print(chars.index("C"))

#输出:3

#4.6 insert()方法:用于将对象插入到列表中

a=[1,2,3]

a.insert(1,"A")

print(a)

#输出:[1, 'A', 2, 3]

#4.7 pop()方法:会移除列表中的一个元素(默认是最后一个),并发返回该元素的值

#pop方法是唯一一个既能修改列表,又能返回元素值(除了None)的列表方法(类似栈,后进先出)

a=[1,2,3]

b=a.pop(1)

print(a)

print(b)

#输出:[1, 3]

#输出:2

#4.8 remove()方法:用于移除列表中某个位置的第一个匹配项

a=[1,2,3,'A','B','C']

a.remove('A')

print(a)

#输出:[1, 2, 3, 'B', 'C']

#4.9 reverse()方法:用于将列表中的元素反向存放

a=[1,2,3]

a.reverse()

print(a)

#输出:[3, 2, 1]

#4.9 sort()方法:用于在原位置对列表进行排序,改变原来的列表,而不是返回新的列表

a=[1,7,4,5,3,6,2,8]

b=['E','B','D','F','C','A']

a.sort()

b.sort()

print(a)

print(b)

#输出:[1, 2, 3, 4, 5, 6, 7, 8]

#输出:['A', 'B', 'C', 'D', 'E', 'F']

#如果只是想获取排序后的列表,而不是修改原列表,可以使用sorted()方法

a=[1,7,4,5,3,6,2,8]

b=['E','B','D','F','C','A']

print(sorted(a))

print(sorted(b))

#输出:[1, 2, 3, 4, 5, 6, 7, 8]

#输出:['A', 'B', 'C', 'D', 'E', 'F']

二、元组

#元组与列表一样,也是一种序列,唯一不同的是元组不能修改

#1.语法:通过()扩起来,内部用","隔开。

t=(1,2,3)

print(type(t))

#输出:<class 'tuple'>

#2.tuple()函数:与list()函数基本上是一样的,以一个序列为参数,并把它转换为元组,如果参数是元组,则原样返回。

a=[1,2,3]

b=tuple(a)

print(b)

#输出:(1, 2, 3)

完整代码

#1.Python包含6种内建的序列:列表,元组,字符串,Unicode字符串,buffer对象,xrange对象,本文讨论列表和元组。
#2.列表可以修改,元组则不能修改。
#3.几乎在所有的情况下,列表都可以替代元组。#【列表】
#1.语法:列表的各个元素用","分割,写在方括号中。,如:用列表表示数据库中一个人的信息:姓名,性别,年龄
zhangsan=['张三','男',30]
lisi=['李四','女',28]
print(zhangsan)
print(type(zhangsan))
#输出:['张三', '男', 30]
#输出:<class 'list'>#2.序列可以包含其他序列,如:
zhangsan=['张三','男',30]
lisi=['李四','女',28]
users=[zhangsan,lisi]
print(users)
#输出:[['张三', '男', 30], ['李四', '女', 28]]#3.所有序列类型都可以进行:索引,分片,加,乘等操作,以及包含检查元素是否存在,序列长度,最大元素,最小元素等内建函数。
#3.1 索引:索引从0开始递增,使用负数索引时,会从右边计数,右边最后一个元素位置编号是-1,不是0
hello="HelloWorld"
print(hello[0]+"-"+hello[-1]) 
#输出:H-o#3.2 分片:通过分片来访问一定范围内的元素,通过冒号相隔的两个索引来实现。注意:第1个索引的元素包含在分片内,第2个索引的元素不包含在分片内
hello="SayHelloWorld"
print(hello[3:8])  
#输出:Hello
#分片步长:默认步长为1,分片按照这个步长遍历序列元素,然后返回开始和结束点之间的所有元素。
hello="SayHelloWorld"
print(hello[3:8:2])  
#输出:Hlo#3.2 序列相加:两种相同类型的序列才能进行连接操作。
a=[1,2,3]
b=[4,5,6]
print(a+b)
#输出:[1, 2, 3, 4, 5, 6]#3.3 乘法:用数字x乘以一个序列,会得到将原序列元素重复x次的新序列
a=[1,2,3]
print(a*3)
#输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]#3.4 检查元素是否存在:使用in运算符
print("H" in hello)
#输出:True
zhangsan=['张三','男',30]
lisi=['李四','女',28]
users=[zhangsan,lisi]
print(['张三','男',30] in users)
#输出:True#3.5 len,max,min 函数
num=[100,34,678]
print(str(len(num))+"-"+str(max(num))+"-"+str(min(num)))
#输出:3-678-34#4.列表方法(函数)
#4.1 list函数:因为字符串不能像列表一样被修改,可以将字符串转换为列表
hello="HelloWorld"
hellolist=list(hello)
print(hellolist)
#输出:['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']#反之,将列表组装成字符串,需要用到join函数
hello2="".join(['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd'])
print(hello2)
#输出:HelloWorld#4.2 删除元素
names=["zhangsan","lisi","wangwu"]
del names[1]
print(names)
#输出:['zhangsan', 'wangwu']#4.3 append()方法:在列表末尾追加新元素
num=[1,2,3]
num.append(4)
print(num)
#输出:[1, 2, 3, 4]#4.3 count()方法:统计某个元素在列表中出现的次数
chars=['A','B','A','C','A']
print(chars.count("A"))
#输出:3#4.4 extend()方法:在列表的末尾一次性追加另一个序列中的多个值
#注意:extend()方法修改了被扩展的序列,而a+b是两个序列的连接操作,它返回的是一个新的序列
a=[1,2,3]
b=[4,5,6]
c=a+b
a.extend(b)
print(a)
print(c)
#输出:[1, 2, 3, 4, 5, 6]
#输出:[1, 2, 3, 4, 5, 6]#4.5 index()方法:用于在列表中找出某个值第一个匹配的索引位置
chars=['A','B','A','C','A']
print(chars.index("C"))
#输出:3#4.6 insert()方法:用于将对象插入到列表中
a=[1,2,3]
a.insert(1,"A")
print(a)
#输出:[1, 'A', 2, 3]#4.7 pop()方法:会移除列表中的一个元素(默认是最后一个),并发返回该元素的值
#pop方法是唯一一个既能修改列表,又能返回元素值(除了None)的列表方法(类似栈,后进先出)
a=[1,2,3]
b=a.pop(1)
print(a)
print(b)
#输出:[1, 3]
#输出:2#4.8 remove()方法:用于移除列表中某个位置的第一个匹配项
a=[1,2,3,'A','B','C']
a.remove('A')
print(a)
#输出:[1, 2, 3, 'B', 'C']#4.9 reverse()方法:用于将列表中的元素反向存放
a=[1,2,3]
a.reverse()
print(a)
#输出:[3, 2, 1]#4.9 sort()方法:用于在原位置对列表进行排序,改变原来的列表,而不是返回新的列表
a=[1,7,4,5,3,6,2,8]
b=['E','B','D','F','C','A']
a.sort()
b.sort()
print(a)
print(b)
#输出:[1, 2, 3, 4, 5, 6, 7, 8]
#输出:['A', 'B', 'C', 'D', 'E', 'F']#如果只是想获取排序后的列表,而不是修改原列表,可以使用sorted()方法
a=[1,7,4,5,3,6,2,8]
b=['E','B','D','F','C','A']
print(sorted(a))
print(sorted(b)) 
#输出:[1, 2, 3, 4, 5, 6, 7, 8]
#输出:['A', 'B', 'C', 'D', 'E', 'F']#二、元组
#元组与列表一样,也是一种序列,唯一不同的是元组不能修改。
#1.语法:通过()扩起来,内部用","隔开。
t=(1,2,3)
print(type(t))
#输出:<class 'tuple'>#2.tuple()函数:与list()函数基本上是一样的,以一个序列为参数,并把它转换为元组,如果参数是元组,则原样返回。
a=[1,2,3]
b=tuple(a)
print(b)
#输出:(1, 2, 3)






 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/10209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细解析python视频选择--【思维导图知识范围】

C ,JAVA JAVAWEB ,微信小程序等 都有视频选择的分析。 语言视频选择收录专辑链接C张雪峰推荐选择了计算机专业之后-在大学期间卷起来-【大学生活篇】JAVA黑马B站视频JAVA部分的知识范围、学习步骤详解JAVAWEB黑马B站视频JAVAWEB部分的知识范围、学习步骤详解SpringBootSpringB…

Cesium:加载geojson面贴地和显示边界问题

1.背景 cesium加载geojson面数据后&#xff0c;有部分数据在地形下面显示不全&#xff0c; 加了clampToGround: true&#xff0c;设置贴地后&#xff0c;边界又不见了 this.viewer.dataSources.add(GeoJsonDataSource.load(http://xx/xzbj.geojson, {stroke: Color.BLACK.with…

保护隐私与安全的防关联、多开浏览器

随着互联网的不断发展&#xff0c;我们越来越离不开浏览器这个工具&#xff0c;它为我们提供了便捷的网络浏览体验。然而&#xff0c;随着我们在互联网上的活动越来越多&#xff0c;我们的个人信息和隐私也日益暴露在网络风险之下。在这种背景下&#xff0c;为了保护个人隐私和…

阿里Java开发手册~ORM 映射

1. 【强制】在表查询中&#xff0c;一律不要使用 * 作为查询的字段列表&#xff0c;需要哪些字段必须明确写明。 说明&#xff1a; 1 &#xff09; 增加查询分析器解析成本。 2 &#xff09; 增减字段容易与 resultMap 配置不一致。 2. 【强制】 POJO 类的 布尔 属性不…

PDF添加水印以及防止被删除、防止编辑与打印

方法记录如下&#xff1a; 1、添加水印&#xff1b; 2、打印输出成一个新的pdf&#xff1b; 3、将pdf页面输出成一张张的图片&#xff1a;&#xff08;福昕pdf操作步骤如下&#xff09; 4、将图片组装成一个新的pdf&#xff1a;&#xff08;福昕pdf操作步骤如下&#xff09;…

Android 任务调度 WorkManager 和 JobScheduler 的使用

在过去&#xff0c;常常使用后台Service来执行定时任务。虽然Service是执行后台任务的一种方式&#xff0c;但自Android 8.0&#xff08;API级别26&#xff09;以后&#xff0c;Google推荐使用更高效和系统友好的方式来执行定时任务&#xff0c;例如JobScheduler和WorkManager。…

flask实现一个登录界面

flask实现一个登录界面 基础的Flask项目结构 forms.py&#xff1a;定义登录表单和表单字段的文件。templates/login.html&#xff1a;用于渲染登录表单的 HTML 模板文件。routes.py&#xff1a;定义应用的路由和视图函数的文件。__init__.py&#xff1a;创建并初始化 Flask 应…

Java Spring和Spring集成Mybatis

0目录 1.Spring 2.Spring集成Mybatis 1.Spring 特性 IOC&#xff1a;控制反转 AOP&#xff1a;面向切面 Spring组成部分 在SMM中起到的作用&#xff08;粘合剂&#xff09; Spring理念 OOP核心思想【万物皆对象】 Spring核心思想【万物皆Bean组件】 Spring优势 低侵入式 …

MySQL学习笔记 ------ 排序查询

一、语法 SELECT 查询列表 FROM 表名 【WHERE 筛选条件】 ORDER BY 排序列表 【ASC}DESC】&#xff1b;#支持多个排序条件&#xff0c;以逗号分隔 二、特点 1、ASC &#xff1a;升序&#xff0c;如果不写默认升序 DESC&#xff1a;降序 2、排序列表 支持 单个字段…

基于新浪微博海量用户行为数据、博文数据数据分析:包括综合指数、移动指数、PC指数三个指数

基于新浪微博海量用户行为数据、博文数据数据分析&#xff1a;包括综合指数、移动指数、PC指数三个指数 项目介绍 微指数是基于海量用户行为数据、博文数据&#xff0c;采用科学计算方法统计得出的反映不同事件领域发展状况的指数产品。微指数对于收录的关键词&#xff0c;在指…

Java运算符

大体上&#xff0c;与C语言差不多&#xff0c;不同的地方&#xff0c;我用红色字体标注了 算术运算符 1. 基本四则运算符&#xff1a;加减乘除模 ( - * / %) int a 10 ; int b 20 ; System . out . println ( a b ); // 30 System . out . println ( a - b…

数据结构--线性表2-1

目录 一、线性结构的定义 二、线性表的表示 三、顺序表的实现&#xff08;或操作&#xff09; 1、修改&#xff1a; 2、插入&#xff1a; 四、顺序表的运算效率分析&#xff1a;时间效率分析&#xff1a; 一、线性结构的定义 若结构时非空有限集&#xff0c;则有且仅有一个…

8 个线程池最佳实践和坑!使用不当直接生产事故!!

这篇文章我会简单总结一下我了解的使用线程池的时候应该注意的坑以及一些优秀的实践。拿来即用&#xff0c;美滋滋&#xff01; 1、正确声明线程池 线程池必须手动通过 ThreadPoolExecutor 的构造函数来声明&#xff0c;避免使用Executors 类创建线程池&#xff0c;会有 OOM …

线性代数的学习和整理2:用EXCEL进行矩阵计算

目录 矩阵的各种概念 矩阵的维数 矩阵的基底 矩阵的列向量 矩阵的平直概念 矩阵的乘法的映射图 矩阵的秩 矩阵的乘法具有不可交换性 矩阵的模 矩阵的各种概念 矩阵的维数 &#xff08;a1,a2&#xff09;是2维的&#xff08;a1,a2,a3&#xff09;是3维的&#xff08;a…

一文复习Java基础面试知识

申明&#xff1a;本人于公众号Java筑基期&#xff0c;CSDN先后发当前文章&#xff0c;标明原创&#xff0c;转载二次发文请注明转载公众号&#xff0c;另外请不要再标原创 &#xff0c;注意违规 Java基础知识 1、基本数据类型 在Java中&#xff0c;共有八种基本数据类型&…

基于深度学习淡水鱼体重智能识别模型研究

工作原理为&#xff1a;首先对大众淡水鱼图片进行数据清洗并做标签分类&#xff0c;之后基于残差网络ResNet50模型进行有监督的分类识别训练&#xff0c;获取识别模型。其次通过搭建回归模型设计出体重模型&#xff0c;对每一类淡水鱼分别拟合出对应的回归方程&#xff0c;将获…

Ubuntu ImportError: No module named ‘_tkinter‘问题解决方式

尝试安装tkinter模块.出现以下问题 sudo pip3 install tkinter [sudo] password for Ns3: DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support …

go 排序 接口排序

Go sort 包主要提供了三种排序能力&#xff1a; &#xff08;1&#xff09;基本类型切片排序&#xff1b; &#xff08;2&#xff09;任意类型切片排序 &#xff1b; &#xff08;3&#xff09;任意数据结构排序 (实现接口方法排序) 一、基本类型切片排序 为了便于对常用数据…

Android OpenGL ES Camera2 实现实时抠图效果

前面文章人像抠图 + OpenGL ES 还能这样玩?没想到吧,我们介绍了利用人像抠图算法生成的 mask 图,然后结合 OpenGL 可以产生一些有趣的效果。 抠图技术应用很广泛,比如很多手机的相机自带“人像留色”滤镜:人体区域保留彩色,人体区域之外灰度化。所以人像留色的关键技术在…

java后端接口实现302跳转

正常来说&#xff0c;接口返回String是"redirect:"url或者“r:”url就能实现前端接收到返回后自动302.但是我在自己的一个项目中这么写了之后发现返回的是纯字符串&#xff0c;很奇怪。 最后发现&#xff0c;如果你的controller层有RestController注解&#xff0c;那…