首页 > 编程语言 >如何系统得自学python?——7.列表与元组

如何系统得自学python?——7.列表与元组

时间:2024-03-23 10:30:12浏览次数:25  
标签:name python list 列表 李四 王五 print 自学 元组

列表

一、列表的应⽤场景

列表是Python中最常用的数据结构之一,用于存储一组有序的数据。它在各种场景中都有广泛的应用,例如:

  1. 存储多个相同类型的数据,如学生成绩、员工工资等。
  2. 存储不同类型的数据,如图书信息(包含书名、作者、出版社等)。
  3. 在算法中作为临时存储数据的容器,如排序算法中的中间过程。
  4. 表示游戏中的角色、物品等。
  5. 存储数据库查询结果等。

 二、列表的格式

列表使用方括号 [] 来定义,其中的元素通过逗号 , 分隔。

列表可以⼀次性存储多个数据,且可以为不同数据类型。

例如:

scores = [90, 85, 95, 88, 92]
books = ['Python Crash Course', 'Deep Learning', 'Introduction to Algorithms']
i = [1,2,3,4,"张三","李四"]

三、列表的常⽤操作

列表的作⽤是⼀次性存储多个数据,程序员可以对这些数据进⾏的操作有:增、删、改、查。

包括:

  • 索引和切片:通过索引访问列表中的元素,也可以使用切片来获取子列表。
  • 添加元素:使用 append() 方法在列表末尾添加元素,使用 insert() 方法在指定位置插入元素。
  • 删除元素:使用 del 关键字、pop() 方法或 remove() 方法删除列表中的元素。
  • 修改元素:直接通过索引赋值来修改列表中的元素。
  • 连接列表:使用 + 运算符将两个列表连接起来。
  • 列表长度:使用 len() 函数获取列表的长度。

1.查找

#### 根据下标查找


name_list = ['张三', '李四', '王五','赵六']
print(name_list[0])
print(name_list[1])
print(name_list[2])

2.函数

index():返回指定数据所在位置的下标 。

语法:列表序列.index(数据, 开始位置下标, 结束位置下标)

name_list = ['张三', '李四', '王五','赵六']
print(name_list.index('张三', 0, 2))

注意:如果查找的数据不存在则报错。

count():统计指定数据在当前列表中出现的次数。

name_list = ['张三', '李四', '王五','张三']
print(name_list.count('张三'))

len():访问列表⻓度,即列表中数据的个数。

name_list = ['张三', '李四', '王五','赵六']
print(len(name_list))

in与not in

in:判断指定数据在某个列表序列,如果在返回True,否则返回False
not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False

name_list = ['张三', '李四', '王五','赵六']
name = input('请输⼊您要搜索的名字:')
if name in name_list:
    print(f'您输⼊的名字是{name}, 名字已经存在')
else:
    print(f'您输⼊的名字是{name}, 名字不存在')
 

·增加

append():列表结尾追加数据。

语法:列表序列.append(数据)

name_list = ['张三', '李四', '王五','赵六']
name_list.append('阿坤')
print(name_list)

如果append()追加的数据是⼀个序列,则追加整个序列到列表

name_list = ['张三', '李四', '王五','赵六']
alist = ["唱","跳","rap","篮球"]
name_list.append(alist)
print(name_list)


# ['张三', '李四', '王五', '赵六', ['唱', '跳', 'rap', '篮球']]

extend():列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表。

name_list = ['张三', '李四', '王五','赵六']
name_list.extend('阿坤')
print(name_list)


# ['张三', '李四', '王五', '赵六', '阿', '坤']

如果添加一个序列,则会将序列里面每一个元素添加进去

name_list = ['张三', '李四', '王五','赵六']
alist = ["唱","跳","rap","篮球"]
name_list.extend(alist)
print(name_list)

insert():指定位置新增数据。

语法:列表序列.insert(位置下标, 数据)

name_list = ['张三', '李四', '王五','赵六']
name_list.insert(1, '阿坤')


# 结果:['张三','阿坤', '李四', '王五','赵六']
print(name_list)

·删除

del:删除整个列表

name_list = ['张三', '李四', '王五','赵六']
del name_list
print(name_list)

删除指定数据(根据索引删除)

name_list = ['张三', '李四', '王五','赵六']
del name_list[1]
print(name_list)


# ['张三', '王五', '赵六']

pop():删除指定下标的数据(默认为最后⼀个),并返回该数据。

name_list = ['张三', '李四', '王五','赵六']
name_list.pop(1)
print(name_list)


# ['张三', '王五', '赵六']

remove():移除列表中某个数据的第⼀个匹配项。

语法:列表序列.remove(数据)

name_list = ['张三', '李四', '王五','赵六']
name_list.remove("张三")
print(name_list)


# ['李四', '王五', '赵六']

clear():清空列表

name_list = ['张三', '李四', '王五','赵六']
name_list.clear()
print(name_list)


# []

·修改

直接修改

name_list = ['张三', '李四', '王五','赵六']
name_list[0] = '阿坤'
print(name_list)

reverse():逆置

num_list = [1, 5, 2, 3, 6, 8]
num_list.reverse()
print(num_list)


# [8, 6, 3, 2, 5, 1]

sort():排序

语法:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)。

样式:列表序列.sort(reverse=False)


li = [2,3,5,6,1,4,8]
li.sort(reverse=False)
print(li)
# [1, 2, 3, 4, 5, 6, 8]

li.sort(reverse=True)
print(li)
# [8, 6, 5, 4, 3, 2, 1]

复制

copy():复制一个列表

name_list = ['张三', '李四', '王五','赵六']
name_li2 = name_list.copy()
print(name_li2)


# ['张三', '李四', '王五','赵六']

四、列表的循环遍历

for循环

name_list = ['张三', '李四', '王五','赵六']
for i in name_list:
    print(i)

 while循环

i = 0
name_list = ['Tom', 'Lily', 'Rose']
while i < len(name_list):
    print(name_list[i])
    i += 1

五、列表的嵌套

所谓列表嵌套指的就是⼀个列表⾥⾯包含了其他的⼦列表

# 找到篮球
name_list = [['张三', '李四', '阿坤'], ['唱', '跳', '篮球'], ['甲', '乙', '丙']]
# 第⼀步:按下标查找到篮球所在的列表
print(name_list[1])
# 第⼆步:从李四所在的列表⾥⾯,再按下标找到数据李四
print(name_list[1][2])

列表中的元素可以是任何数据类型,包括另一个列表。这种嵌套的列表可以用来表示二维数据结构,如矩阵、多维数组等。

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
    for element in row:
        print(element)
 

元组

元组是Python中的不可变序列,用于存储一组有序的数据。

一、元组的应用场景

由于其不可变性质,元组在某些场景下更适合用于存储不可变的数据,如下所示:

  1. 表示不可变的数据集合: 例如表示日期、时间、坐标等,这些数据一旦确定就不会改变。
  2. 作为函数返回值: 可以将多个值打包成元组作为函数的返回值,方便返回多个相关联的值。
  3. 在映射中作为键: 由于元组是不可变的,因此可以作为字典的键使用,而列表则不能。

二、定义元组

定义元组使⽤⼩括号,且逗号隔开各个数据,数据可以是不同的数据类型。

# 多个数据元组
t1 = (10, 20, 30)

# 单个数据元组
t2 = (10,)

注意:如果定义的元组只有⼀个数据,那么这个数据后⾯也好添加逗号,否则数据类型为唯⼀的这个数据的数据类型。

三、元组的常⻅操作

元组数据不⽀持修改,只⽀持查找。

根据下标查找

tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1[0])

index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index⽅法相同。

tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.index('aa'))

count():统计某个数据在当前元组出现的次数。

tuple1 = ('aa', 'bb', 'cc', 'bb')
print(tuple1.count('bb'))

len():统计元组中数据的个数。

tuple1 = ('aa', 'bb', 'cc', 'bb')
print(len(tuple1))

注意:

元组的不可变性质意味着一旦创建就无法修改其内容,但可以创建包含可变对象(如列表)的元组,从而间接地修改元组的内容。

tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
print(tuple2[2]) # 访问到列表
# ['aa', 'bb', 'cc']


tuple2[2][0] = 'aaaaa'
print(tuple2)
# (10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)

标签:name,python,list,列表,李四,王五,print,自学,元组
From: https://blog.csdn.net/weixin_66370632/article/details/136960166

相关文章

  • python3最全知识点,从入门到开车就是这么简单(建议收藏)
    前言:此文是自己学习python过程中的笔记和总结.适合有语言基础的人快速了解python3和没基础的作为学习的大纲了解学习的方向、知识点;笔记是从多本书和视频上学习后的整合版。(一)初识python1、一般文件以.py为格式;用#作注释.2、一般对象不用特别声明,python会自动识别;一......
  • 【干货合集】看完这些干货,再说你因为“怕蛇”,所以学不好 Python!
    摘要:作为编程语言界的“当红小生”,Python不仅能够承担起Web项目的重任,还能够用于写自动化脚本帮助你做很多事情,不仅能够用于机器学习和神经网络的研究,还能够用于最具有业务价值的数据分析方面,无论什么专业,似乎没学过Python就已经OUT了!原文:http://click.aliyun.com/m/43518......
  • 所有人都说Python 简单易学,为何你觉得难?
    所有人都说Python简单易学,为何我觉得难?记得刚学Python的时候,几乎所有人都说Python简单易学,而对于编程零基础,只掌握Word和Excel的人来说,感觉真的好难。学习之前网上的教材看了,Python的书也看了,包括《核心编程》,很多知识点,看的时候好像明白了,然后马上就忘,看了三四遍也记不......
  • 所有人都说Python 简单易学,为何我觉得难?
    记得刚学Python的时候,几乎所有人都说Python简单易学,而对于编程零基础,只掌握Word和Excel的人来说,感觉真的好难。学习之前网上的教材看了,Python的书也看了,包括《核心编程》,公开课也看了,包括莱斯大学和MIT的课。很多知识点,看的时候好像明白了,然后马上就忘,看了三四遍也记不住......
  • 1、Python 正则表达式:基本介绍
    点击上方分类专栏、进行系统性学习(文末可扫码领取资料)正则表达式(RegularExpression)是计算机科学的一个概念。“Regular”一般被译为“正则”、“正规”、“常规”。此处的“Regular”即“规则、规律”的意思,RegularExpression即“描述某种规则的表达式”。正则表达式使用......
  • 【python】(05)如何python中的logging模块记录日志信息
    系列文章回顾【python】(01)初识装饰器Decorator【python】(02)初识迭代器Iterator【python】(03)初识生成器Generator【python】(04)python中实现多任务并发和并行的区别【python】(05)如何python中的logging模块记录日志信息文章目录一.Logging模块的常用组......
  • Python 机器学习 维特比算法和鲍姆-韦尔奇算法
    在机器学习和信号处理领域,特别是在处理隐马尔可夫模型(HiddenMarkovModels,HMM)时,维特比算法(ViterbiAlgorithm)和鲍姆-韦尔奇算法(Baum-WelchAlgorithm)是两个核心算法,用于不同的目的。维特比算法用于解决解码问题,即在给定观察序列的情况下找到最可能的状态序列。它通过动态规......
  • python-day01
    python基础语法注释单行注释:#注释内容多行注释:"""多行注释"""type()语句判断类型例如:print(type(123))print(type(23.4))print(type("Hello"))输出为:数据类型转换int(x)<===>将x转换为一个整数float(x)<===>将x转换为一个浮点数str(x)......
  • 最大化运输问题求解——Python实现
    运输问题(TransportationProblem)是运筹学中的经典问题,通常涉及将资源从供应点转移到需求点,以最小化运输成本或满足需求。这个问题在各种实际场景中都有广泛的应用,包括但不限于以下几个方面:供应链管理:在供应链中,最小化运输问题可用于确定最有效的货物运输方式,以满足各个节点之间的......
  • python 教你如何创建一个自定义库 colorlib.py
    目录Colorlib生成代码模块代码导入测试测试一测试二应用测试颜色列表colorList随机颜色元组randcolorTuples随机颜色字串randcolorStringsColor类测试测试一测试二题外话Colorlib有没有碰到过这样的场景:写代码时想要用上丰富的色彩,但苦思冥想搜肠刮肚只记......