python-基础篇-字符串、列表、元祖、字典-列表

2024-04-06 05:36

本文主要是介绍python-基础篇-字符串、列表、元祖、字典-列表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 2.3.2列表
        • 2.3.2.1列表介绍
          • 2.3.2.1.1列表的格式
          • 2.3.2.1.2打印列表
        • 2.3.2.2列表的增删改查
          • 2.3.2.2.1列表的遍历
          • 2.3.2.2.1.1使用for循环
            • 2.3.2.2.1.2使用while循环
          • 2.3.2.2.2添加元素("增"append, extend, insert)
            • 2.3.2.2.2.1append
          • 2.3.2.2.2.2extend
            • 2.3.2.2.2.3extend
          • 2.3.2.2.3删除元素("删"del, pop, remove)
            • 2.3.2.2.3.1del
            • 2.3.2.2.3.2pop
            • 2.3.2.2.3.3remove
          • 2.3.2.2.4修改元素("改")
          • 2.3.2.2.5查找元素("查"in, not in, index, count)
          • 2.3.2.2.5.1in, not in
            • 2.3.2.2.5.2index, count
          • 2.3.2.2.6排序(sort, reverse)
        • 2.3.2.3列表的嵌套
          • 2.3.2.3.1 1. 列表嵌套
          • 2.3.2.3.2 2. 应用
        • 2.3.2.4列表应用

2.3.2列表

2.3.2.1列表介绍

可以理解为java、c语言中的数组。只是python中可以存放不同的数据类型。
列表就是一个变量存储多个值。

2.3.2.1.1列表的格式

变量A的类型为列表
namesList = [‘xiaoWang’,‘xiaoZhang’,‘xiaoHua’]
比C语言的数组强大的地方在于列表中的元素可以是不同类型的
testList = [1, ‘a’]

2.3.2.1.2打印列表
    namesList = ['xiaoWang','xiaoZhang','xiaoHua']print(namesList[0])print(namesList[1])print(namesList[2])
结果:xiaoWangxiaoZhangxiaoHua
2.3.2.2列表的增删改查
2.3.2.2.1列表的遍历
2.3.2.2.1.1使用for循环

为了更有效率的输出列表的每个数据,可以使用循环来完成

    namesList = ['xiaoWang','xiaoZhang','xiaoHua']for name in namesList:print(name)
结果:xiaoWangxiaoZhangxiaoHua
2.3.2.2.1.2使用while循环

为了更有效率的输出列表的每个数据,可以使用循环来完成

    namesList = ['xiaoWang','xiaoZhang','xiaoHua']length = len(namesList)i = 0while i<length:print(namesList[i])i+=1
结果:xiaoWangxiaoZhangxiaoHua
2.3.2.2.2添加元素("增"append, extend, insert)
2.3.2.2.2.1append

通过append可以向列表添加元素(在列表后面追加)

# Author:csz
# 定义变量A,默认有3个元素
names = ['老王', '老李', '老刘']print("-----添加之前,列表A的数据-----")
for tempName in names:print("\t%s"%tempName,end='')
print("")
# 提示、并添加元素
temp = input('请输入要添加的学生姓名:')
names.append(temp)print("-----添加之后,列表A的数据-----")
for tempName in names:print("\t%s" % tempName, end='')

结果:

在这里插入图片描述

注意
在这里插入图片描述

None在python中为空值

2.3.2.2.2.2extend

通过extend可以将另一个集合中的元素逐一添加到列表中

# Author:csz
# 定义变量A,默认有3个元素
names = ['老王', '老李', '老刘']print("-----添加之前,列表A的数据-----")
for tempName in names:print("\t%s"%tempName,end='')
print("")
# 提示、并添加元素
temp = input('请输入要添加的学生姓名:')
names.insert(1,temp)
names.insert(0,temp)
print("-----添加之后,列表names的数据-----")
for tempName in names:print("\t%s" % tempName, end='')
print("")
temp = input('请输入要添加的学生姓名:')
names.insert(0,temp)
print("-----添加之后,列表names的数据-----")
for tempName in names:print("\t%s" % tempName, end='')

结果:

在这里插入图片描述

2.3.2.2.2.3extend

通过extend可以将另一个集合中的元素逐一添加到列表中.
与字符串一样,列表的拼接也可以用“+”实现。
在这里插入图片描述

2.3.2.2.3删除元素("删"del, pop, remove)

类比现实生活中,如果某位同学调班了,那么就应该把这个条走后的学生的姓名删除掉;在开发中经常会用到删除这种功能。
列表元素的常用删除方法有:
del:根据下标进行删除
pop:删除最后一个元素
remove:根据元素的值进行删除

2.3.2.2.3.1del
movieName = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']print('------删除之前------')
for tempName in movieName:print(tempName)del movieName[2]print('------删除之后------')
for tempName in movieName:print(tempName)
结果:------删除之前------加勒比海盗骇客帝国第一滴血指环王霍比特人速度与激情------删除之后------加勒比海盗骇客帝国指环王霍比特人速度与激情
2.3.2.2.3.2pop
movieName = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']print('------删除之前------')
for tempName in movieName:print(tempName)movieName.pop()print('------删除之后------')
for tempName in movieName:print(tempName)
结果:
------删除之前------
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人
速度与激情
------删除之后------
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人
2.3.2.2.3.3remove
movieName = ['加勒比海盗', '指环王','骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']print('------删除之前------')
for tempName in movieName:print(tempName)movieName.remove('指环王')print('------删除之后------')
for tempName in movieName:print(tempName)
结果:
------删除之前------
加勒比海盗
指环王
骇客帝国
第一滴血
指环王
霍比特人
速度与激情
------删除之后------
加勒比海盗
骇客帝国
第一滴血
指环王
霍比特人
速度与激情
2.3.2.2.4修改元素(“改”)

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
在这里插入图片描述

2.3.2.2.5查找元素("查"in, not in, index, count)

所谓的查找,就是看看指定的元素是否存在

2.3.2.2.5.1in, not in

python中查找的常用方法为:
in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false

# 待查找的列表
nameList = ['xiaoWang', 'xiaoZhang', 'xiaoHua']# 获取用户要查找的名字
findName = input('请输入要查找的姓名:')# 查找是否存在
if findName in nameList:print('在字典中找到了相同的名字')
else:print('没有找到')

结果:

在这里插入图片描述

2.3.2.2.5.2index, count

index和count与字符串中的用法相同

>>> a = ['a', 'b', 'c', 'a', 'b']
>>> a.index('a', 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ValueError: 'a' is not in list
>>> a.index('a', 1, 4)
3
>>> a.count('b')
2
>>> a.count('d')
0
2.3.2.2.6排序(sort, reverse)

sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。

>>> a = [1, 4, 2, 3]
>>> a
[1, 4, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]
2.3.2.3列表的嵌套
2.3.2.3.1 1. 列表嵌套

类似while循环的嵌套,列表也是支持嵌套的
一个列表中的元素又是一个列表,那么这就是列表的嵌套

    schoolNames = [['北京大学','清华大学'],['南开大学','天津大学','天津师范大学'],['山东大学','中国海洋大学']] 
2.3.2.3.2 2. 应用

一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配

#encoding=utf-8import random# 定义一个列表用来保存3个办公室
offices = [[],[],[]]# 定义一个列表用来存储8位老师的名字
names = ['A','B','C','D','E','F','G','H']i = 0
for name in names:index = random.randint(0,2)    offices[index].append(name)i = 1
for tempNames in offices:print('办公室%d的人数为:%d'%(i,len(tempNames)))i+=1for name in tempNames:print("%s"%name,end='')print("\n")print("-"*20)

结果:

在这里插入图片描述在这里插入图片描述

2.3.2.4列表应用
# Author:csz
#打印功能提示区
print("="*50)
print("名字关系系统v8.6".center(30))
print("1. 添加一个新名字".center(30))
print("2. 删除一个名字".center(30))
print("3. 修改一个名字".center(30))
print("4. 查询一个名字".center(30))
print("5. 查询所有名字".center(30))
print("6. 退出")
print("="*50)names = []#编写功能执行区
while True:# 获取用户输入的功能选择num = int(input("请输入功能序号:"))if num==1:name = input("请输入需要添加的名字:")names.append(name)print(names)elif num==2:name = input("请输入需要删除的名字:")names.remove(name)elif num==3:name = input("请输入需要修改的名字:")name_update = input("请输入修改后的名字:")names_index = names.index(name)names[ names_index] = name_updateelif num==4:name = input("请输入需要查询的名字的名字:")if name in names:print("找到了你要找的人!")else:print("查无此人!")elif num==5:for name in names:print("%s\t"%name,end="")print("")elif num==6:breakelse:print("您输入有误,请重新输入!")
结果:
==================================================名字关系系统v8.6          1. 添加一个新名字          2. 删除一个名字           3. 修改一个名字           4. 查询一个名字           5. 查询所有名字           
6. 退出
==================================================
请输入功能序号:1
请输入需要添加的名字:qq
['qq']
请输入功能序号:1
请输入需要添加的名字:ww
['qq', 'ww']
请输入功能序号:1
请输入需要添加的名字:ee
['qq', 'ww', 'ee']
请输入功能序号:3
请输入需要修改的名字:ee
请输入修改后的名字:rr
请输入功能序号:5
qq	ww	rr	
请输入功能序号:6

这篇关于python-基础篇-字符串、列表、元祖、字典-列表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879127

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

c++的初始化列表与const成员

初始化列表与const成员 const成员 使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。 不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。 在定义const成员时进行初始化,该语法只有在C11语法标准下才支持。 初始化列表 在构造函数小括号后面,主要用于给