草根学Python(三) List 和 Tuple

编程基础小知识之 List(列表)和 tuple(元组),学会就能一定程度上偷懒啦~ 前言 之前我们学习了字符串,整数,浮点数几种基本数据类型, 现在我们接着学习两种新的数据类型,列表(List)和元组(tuple)。 一、List(列表) 1、什么是 List (列表) List (列表)是 Python 内置的一种数据类型。 它是一种有序的集合,可以随时添加和删除其中的元 素。 那为什么要有 List (列表)呢? 我们用一个例子来说明。 现在有一个团队要出去玩,要先报名。如果用我们之前学过的知识,那么就是用一个字符串变量把他们 都记录起来。 但是这样太麻烦了,而且也不美观。 在编程中 阅读详情

前言

继续更新,可以通过 https://www.readwithu.com/ 来看之前的文章。

目录

草根学Python(三) List 和 Tuple

一、List(列表)

Python 内置的一种数据类型是列表:list。 list 是一种有序的集合,可以随时添加和删除其中的元素。

1、创建 List(列表)

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,且列表的数据项不需要具有相同的类型

list1=['两点水','twowter','liangdianshui',123]

2、访问 List(列表)中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符

list1=['两点水','twowter','liangdianshui',123]
# 通过索引来访问列表
print(list1[2])
# 通过方括号的形式来截取列表中的数据
print(list1[0:2])

输出的结果:

访问 List(列表)中的值

3、更新 List(列表)

可以通过索引对列表的数据项进行修改或更新,也可以使用 append() 方法来添加列表项。

list1=['两点水','twowter','liangdianshui',123]
print(list1)
# 通过索引对列表的数据项进行修改或更新
list1[2]=456
print(list1)
# 使用 append() 方法来添加列表项
list1.append('hello');
print(list1)

输出的结果:

更新 List(列表)

4、删除 List(列表)

使用 del 语句来删除列表的的元素

list1=['两点水','twowter','liangdianshui',123]
print(list1)
# 使用 del 语句来删除列表的的元素
del list1[3]
print(list1)

输出的结果:

删除 List(列表)

5、List(列表)运算符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

Python 表达式结果描述
len([1, 2, 3])3计算元素个数
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]复制
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print x,1 2 3迭代

6、List (列表)函数&方法

函数&方法描述
cmp(list1, list2)比较两个列表的元素
len(list)列表元素个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
list(seq)将元组转换为列表
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)将对象插入列表
list.pop(obj=list[-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.reverse()反向列表中元素
list.sort([func])对原列表进行排序

7、实例

最后通过一个例子来熟悉了解 List 的操作

例子:

#-*-coding:utf-8-*-
#-----------------------list的使用----------------------------------

# 1.一个产品,需要列出产品的用户,这时候就可以使用一个 list 来表示
user=['liangdianshui','twowater','两点水']
print('1.产品用户')
print(user)

# 2.如果需要统计有多少个用户,这时候 len() 函数可以获的 list 里元素的个数
len(user)
print('\n2.统计有多少个用户')
print(len(user))

# 3.此时,如果需要知道具体的用户呢?可以用过索引来访问 list 中每一个位置的元素,索引是0从开始的
print('\n3.查看具体的用户')
print(user[0]+','+user[1]+','+user[2])

# 4.突然来了一个新的用户,这时我们需要在原有的 list 末尾加一个用户
user.append('茵茵')
print('\n4.在末尾添加新用户')
print(user)

# 5.又新增了一个用户,可是这个用户是 VIP 级别的学生,需要放在第一位,可以通过 insert 方法插入到指定的位置
# 注意:插入数据的时候注意是否越界,索引不能超过 len(user)-1
user.insert(0,'VIP用户')
print('\n5.指定位置添加用户')
print(user)

# 6.突然发现之前弄错了,“茵茵”就是'VIP用户',因此,需要删除“茵茵”;pop() 删除 list 末尾的元素
user.pop()
print('\n6.删除末尾用户')
print(user)

# 7.过了一段时间,用户“liangdianshui”不玩这个产品,删除了账号
# 因此需要要删除指定位置的元素,用pop(i)方法,其中i是索引位置
user.pop(1)
print('\n7.删除指定位置的list元素')
print(user)

# 8.用户“两点水”想修改自己的昵称了
user[2]='三点水'
print('\n8.把某个元素替换成别的元素')
print(user)

# 9.单单保存用户昵称好像不够好,最好把账号也放进去
# 这里账号是整数类型,跟昵称的字符串类型不同,不过 list 里面的元素的数据类型是可以不同的
# 而且 list 元素也可以是另一个 list
newUser=[['VIP用户',11111],['twowater',22222],['三点水',33333]]
print('\n9.不同元素类型的list数据')
print(newUser)

list的使用

二、tuple(元组)

另一种有序列表叫元组:tuple 。tuple 和 list 非常类似,但是 tuple 一旦初始化就不能修改。那么不能修改是指什么意思呢?

tuple 不可变是指当你创建了 tuple 时候,它就不能改变了,也就是说它也没有 append(),insert() 这样的方法,但它也有获取某个索引值的方法,但是不能赋值。那么为什么要有 tuple 呢?那是因为 tuple 是不可变的,所以代码更安全。所以建议能用 tuple 代替 list 就尽量用 tuple 。

1、创建 tuple(元祖)

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tuple1=('两点水','twowter','liangdianshui',123,456)
tuple2='两点水','twowter','liangdianshui',123,456

创建空元组

tuple3=()

元组中只包含一个元素时,需要在元素后面添加逗号

tuple4=(123,)

如果不加逗号,创建出来的就不是 tuple (元组),而是指 123 这个数了,这是因为括号 ()既可以表示 tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python 规定,这种情况下,按小括号进行计算,计算结果自然是 123 。具体看下图 tuple4 和 tuple5 的输出值

创建tuple

2、tuple(元组)的索引

元组下标索引从0开始,可以进行截取,组合等。

3、访问 tuple (元组)

tuple(元组)可以使用下标索引来访问元组中的值

#-*-coding:utf-8-*-

tuple1=('两点水','twowter','liangdianshui',123,456)
tuple2='两点水','twowter','liangdianshui',123,456

print(tuple1[1])
print(tuple2[0])

输出的结果:

访问 tuple

4、修改 tuple (元组)

上面不是花了一大段来说 tuple 是不可变的吗?这里怎么又来修改 tuple (元组) 了。那是因为元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,还有通过修改其他列表的值从而影响 tuple 的值。

具体看下面的这个例子:

#-*-coding:utf-8-*-
list1=[123,456]
tuple1=('两点水','twowater','liangdianshui',list1)
print(tuple1)
list1[0]=789
list1[1]=100
print(tuple1)

输出的结果:

('两点水', 'twowater', 'liangdianshui', [123, 456])
('两点水', 'twowater', 'liangdianshui', [789, 100])

可以看到,两次输出的 tuple 值是变了的。我们看看 tuple1 的存储是怎样的。

修改tuple流程图

可以看到,tuple1 有四个元素,最后一个元素是一个 List ,List 列表里有两个元素,当我们把 List 列表中的两个元素 124 和 456 修改为 789 和 100 的时候,从输出来的 tuple1 的值来看,好像确实是改变了,但其实变的不是 tuple 的元素,而是 list 的元素。tuple 一开始指向的 list 并没有改成别的 list,所以,tuple 所谓的“不变”是说,tuple 的每个元素,指向永远不变。注意是 tupe1 中的第四个元素还是指向原来的 list ,是没有变的。

5、删除 tuple (元组)

tuple 元组中的元素值是不允许删除的,但我们可以使用 del 语句来删除整个元组

#-*-coding:utf-8-*-

tuple1=('两点水','twowter','liangdianshui',[123,456])
print(tuple1)
del tuple1

6、tuple (元组)运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
(‘Hi!’,) * 4(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print x,1 2 3迭代

7、元组内置函数

方法描述
cmp(tuple1, tuple2)比较两个元组元素
len(tuple)计算元组元素个数
max(tuple)返回元组中元素最大值
min(tuple)返回元组中元素最小值
tuple(seq)将列表转换为元组
python 列表、元组、字典、集合的区别 介绍 python中字典 (Dictionary)、元组 (Tuple)、字典 (Dict)、集合 (Set)的区别 阅读详情

相关推荐

WhatsApp网页版扫码分析

扫码登录本质上是WhatsApp的多设备登录,设备之间可以独立运行,那么当我们首次通过WhatsApp扫码登录二维码时,到底发生了那些事情?交换了那些数据?

SocialMarketing的博客 5230

Python总结,list和tuple(1)

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

CN_Eden 511

Material Studio中分子动力学模拟得到密度density和溶解度参数

使用sketh工具画出全原子分子,以异辛烷为例子。

handsome213的博客 7315

python入门(四) 统计班级同学总成绩(涉及文件)

def data_in(): f = open("data.txt","w") num = int(input("请输入想要统计的人数:")) #班上的人数num count = 1 while count <= num: print("此次是您的第%d次输入" % count) #%前面不是逗号,而是空格 ...

失心疯的博客 2万+

B站李沐讲论文笔记AlexNet

B站李沐讲论文笔记AlexNet

夏知识不进脑子薇的博客 789

关于STM32编译报错:Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).

今天新建工程发现出现一个错误 —— …\Output\CG.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o). 但我觉得我的操作没有任何问题,而且配置和上一个文件比较是一模一样的。 于是我开始百度查询,然后发现了下面几个博客—— @weixin_44133391——STM32 编译错误 @dorlolok——iel5 编译报错 error: L6235E: More than one

纯粹,学术,热爱。 9401

python成绩统计_检索各种列表中的元素排名,以计算其排名分数的加权平均值Python...

我已经采取简单的方法,给予同等分数的类下一个整数排名,所以class3和class2都有等级2 sorted_dict1#!/usr/bin/env python#Get the ranks for a list of (class, score) tuples sorted by score#and return them in a dictdef get_ranks(sd):#The firs...

weixin_39636057的博客 570

避坑指南:ros2_control在Gazebo中的常见配置错误及解决方案

本文系统梳理了在Gazebo仿真环境中配置ros2_control框架时最常见的错误,并提供了详细的解决方案。重点解析了YAML配置文件的结构陷阱、URDF/XACRO中关键标签的正确写法、Launch文件的启动顺序管理,并分享了实用的调试命令与故障排查思路,帮助开发者高效避坑,实现流畅的关节运动控制。

q5r6s7的博客 970

Python 元组tuple详解(超详细)

本文主要讲解了一些关于元组的知识,包括创建元组、访问元组以及对元组内置函数和方法进行了一些整理,最后还有关于元组的知识汇总。

leoatliang的博客 12万+

ZYNQ 系统的IEEE1588 实现方法

zynq IEEE588/PTP 实现方案(讨论稿)

姚家湾博客 1万+

多出来的那一截:Java 堆外内存 OOM 的来源分账、分流排查与治理解析

Java进程的RES常比-Xmx多出一截,堆却平稳。本文把堆外内存拆成直接缓冲区、Unsafe、JNI本地库、线程栈、元空间与文件映射六类,用JDK 8与17的六组实验对照RSS、NMT、BufferPool三本账:clear()不释放内存;MaxDirectMemorySize默认约等于堆上限且只管直接缓冲区;禁用显式GC会让申请线程退避半秒后失败;未关闭的Deflater零GC下让RSS涨1GB;Netty池内泄漏GC救不回。最后给出定性、对账、定位的排查路线与预算、编码、监控三层治理。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 14万+

python元组Tuple的遍历

现提供两种方法对元组进行遍历 1)range() #!/usr/bin/python #-*- coding:UTF-8 -*- tuple=(("apple",2.0),("grape",3.0),("watermelon",4.0),("grapefruit",5.0)) for i in range(len(tuple)) : for j...

随意的风的专栏 3772

WPS访问权限不足怎么解决??具体怎么操作?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 4169

python tuple list_草根学Python(三)List 和 Tuple

前言目录一、List(列表)Python 内置的一种数据类型是列表:list。 list 是一种有序的集合,可以随时添加和删除其中的元素。1、创建 List(列表)创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,且列表的数据项不需要具有相同的类型list1=['两点水','twowter','liangdianshui',123]2、访问 List(列表)中的值使用下标索引来访问列...

weixin_29473667的博客 270

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

草根学Python(三)List 和 Tuple

前言 继续更新,可以通过 www.readwithu.com/ 来看之前的文章。 目录 草根学Python(三) List 和 Tuple 一、List(列表) Python 内置的一种数据类型是列表:list。 list 是一种有序的集合,可以随时添加和删除其中的元素。 1、创建 List(列表) 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,且列表的数据项不需要具有相同的类型...

weixin_33720452的博客 112

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

中国机器人进军硅谷,每日AI新闻,十大热点完整实战指南

中国机器人进军硅谷与AI十大热点新闻——深度解析与实战指南。

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 539

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

专业 英语

计算机、数学、机械等专业的专业英语词汇

Edward2022的博客 2942

PythonDay02 -『List | Tuple』

Python基础知识(List和Tuple) 一、List类型 1.python创建List 说明:Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。构造list非常简单,按照上面的代码,直接用 [ ] 把list的所有元素都括起来,就是一个list对象。由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型。 eg...

渐渐的忘记,赶不上明天(读研ing,2024年毕业) 750

【python】列表(List)与元组(Tuple)

在python中,列表和元组都是非常常用的数据结构,用来存储一组有序的数据,并且可以为不同的数据类型。

啊?这个人,居然也写代码啊…… 3078

python-元组及元组的操作

元组的定义: 本质:也是一种有序的集合。但与list不同,元组一旦初始化则不能修改。 元组的创建: tuple1 =() #创建空元组 tuple2 = tuple() #创建空元组 tuple3 = (1,) #创建只有一个元素的元组 tuple4 = 1, #创建只有一个元素的元组 注意:当元组中只有一个元素的时候,我们必须在该元素的末尾添加一个逗号,来消除歧义。 元组小括号可以省略...

lonely2018的博客 3501

python基础~4(tuple)

列表是有序的 列表元素可以被修改 元组,(),有序,就像是列表的二次加工, 它的一级元素不能被修改,不能被增加或者删除 tu=(11,'you',(11,22),[(1,2)],True,2,6) print(tu) 索引 t=tu[0] print() 切片 t1=tu[1:3] print(t1) del删除 del整个元组可以 del tu print(tu) del一级元素会报错...

lia-wow的博客 354

列表(list)与元组(tuple)

1、列表 语法格式:列表名 = [元素1, 元素2, ..., 元素n] 1.1、访问列表中的元素 访问列表中的元素方法与访问字符串中的元素类似,通过下标来实现元素的访问 格式: 列表名[下标] 注:1、下标从0开始,默认从左往右数         2、下标可以为负数,当下表为负数时,表示方向从右往左 1.2、列表的截取 语法格式:列表[[起始下标start]:[结束下标stop]...

pyrans的博客 4540

python数据结构之元组(tuple)——超详细

元组 元组和列表相比,元组不可改变,且创建的时候逗号(,)才是元组的标志所在,小括号只是起一个补充作用,为了看起来好理解 1.创建元组 tuple2 = 1, 2, 3, 4 tuple2    (1, 2, 3, 4) type(tuple2) # tuple 类型    tuple tuple1 = (1, 2, 3, 4, 5) tuple1    (1, 2, 3, 4, 5) 二.元组的访问和切片功能跟列表一样 tuple1[0]    1 tuple1[1]    2 tuple1[:

逐梦er的博客 7838

python3数据类型-Tuple

python3中元组的定义 元组用()标识,元组的元素不能被修改,例如: tuple=(‘Google’, ‘Runoob’, 1997, 2000) 访问元组中的元素(下标访问元组) 1.tuple[1],单下标获取元素,则返回的类型为元素的类型 2.tuple[1:3],多个下标获取元素,则返回的还是元组类型 修改、删除、增加 1.因元组被赋值后的元素不能修改,故不能对元组内的元素进行修改、删除、增加操作 2.但可以对整个元组进行重新赋值,此时赋值后的元组是一个新的对象,不是原元组对象(可以同id()

hunanying的博客 337

(1) python 之 元组 详解

1 元组 tuple (1)定义,修改 tup = 4, 5, 6 返回 (4, 5, 6) nested_tup = (4, 5, 6), (7, 8) 返回 ((4, 5, 6), (7, 8)) tuple([4, 0, 2]) 返回 (4, 0, 2) tuple('string') 返回('s', 't', 'r', 'i', 'n', 'g') tup[0] 返回's' tuple(['foo', [1, 2], True]) tup = tuple(['foo', [1, 2]

xiaomengzhang的博客 267

html如何让元素在父元素中水平或垂直居中

如何让元素在父元素中水平或垂直居中 行内 text-align:center; line-height:height; 块级 1.给父元素设置 display;flex align-items:center; justify-content:center; 2.给父元素一个定位属性,子元素使用绝对定位, 并且使用配合属性left:50%;top:50%; 让子元素左上角移动到父元素中心位置; 然后再让子元素使用margin-left:-width/2;margin-top:-height/2;

weixin_42486003的博客 1178
上一篇: 草根学Python(二)基本数据类型和变量
下一篇: 草根学Python(四) Dict 和 Set
Two_Water
博客等级 码龄12年 573粉丝 134原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值