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

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

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

相关文章

考研回忆录【二本->211】

备考时长差不多快一年半&#xff0c;从22年的11月底开始陆陆续续地准备考研&#xff0c;因为开始的早所以整个备考过程显得压力不是很大&#xff0c;中途还去一些地方旅游&#xff0c;我不喜欢把自己绷得太紧。虽然考的不是很好&#xff0c;考完我甚至都没准备复试&#xff0c;…

12-1-CSS 常用样式属性

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 CSS 常用样式属性1 CSS 三角形2 CSS 用户界面样式2.1 什么是界面样式2.2 鼠标…

微电网优化:基于​海象优化算法(Walrus Optimization Algorithm,WOA)​的微电网优化(提供MATLAB代码)

一、微电网优化模型 微电网是一个相对独立的本地化电力单元&#xff0c;用户现场的分布式发电可以支持用电需求。为此&#xff0c;您的微电网将接入、监控、预测和控制您本地的分布式能源系统&#xff0c;同时强化供电系统的弹性&#xff0c;保障您的用电更经济。您可以在连接…

(学习日记)2024.04.02:UCOSIII第三十节:信号量

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Ps:预览调整 32 位 HDR 图像

由于 HDR 图像的动态范围超出了标准计算机显示器的显示范围。在 Photoshop 中打开 HDR 图像时&#xff0c;图像可能会非常暗或出现褪色现象。 Photoshop 提供了专门的预览调整功能&#xff0c;以使标准显示器显示的 HDR 图像的高光和阴影不会太暗或出现褪色现象。 预览调整设置…

docker的安装及入门指令

目录 一、将docker安装到云服务器步骤 1.更新系统yum版本 2.安装所需依赖 3.添加docker仓库设置(使用的是阿里云) 4.安装docker引擎 5.启动docker并开启自动启动 6. 检查是否安装成功&#xff0c;成功会显示相应版本&#xff0c;否则安装失败 二、docker常用命令 1.从…

最优算法100例之33-数据流的中位数

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位…

Map源码解析

基本介绍 其实HashMap底层是个什么东西我们之前也讲过, 就是一个哈希桶(差不多可以看成一个数组), 然后每一个节点又连接着链表/红黑树之类的, 下面让我们看一看具体在源码上是怎样实现的: 常量及其它 -> static final int DEFAULT_INITIAL_CAPACITY 1 << 4; //这个…

计算机网络——35什么是网络安全

什么是网络安全 机密性&#xff1a;只有发送方和预订的接收方能否理解传输的报文内容 发送方加密报文接收方解密报文 认证&#xff1a;发送方和接收方需要确认对方的身份报文完整性&#xff1a;发送方、接收方需要确认的报文在传输的过程中或者事后没有被改变访问控制和服务的…

利用nginx-http-flv-module实现三种直播

目录 一、说明 二、目标 三、实现 四、直播地址 一、说明 此文在《流媒体服务器的搭建(支持hls)》《搭建nginx-http-flv-module直播系统》之后编写,很多详细内容需要参考它。 流媒体服务器的搭建(支持hls)

若依:一个基于Spring Boot、Spring Security、JWT、Vue和Element的全部开源快速开发平台

若依后台管理系统&#xff1a;一个基于Spring Boot、Spring Security、JWT、Vue和Element的全部开源快速开发平台 一、引言 随着软件开发技术的发展&#xff0c;前后端分离的开发模式逐渐成为主流。这种模式能够提高开发效率&#xff0c;降低维护成本&#xff0c;使前后端工程…

c# wpf template itemtemplate+ListBox

1.概要 2.代码 <Window x:Class"WpfApp2.Window7"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/…

Kafka参数介绍

官网参数介绍:Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/documentation/#configuration

开源大语言模型(LLM)汇总(持续更新中)

随着ChatGPT的火爆&#xff0c;越来越多人希望在本地运行一个大语言模型。为此我维护了这个开源大语言模型汇总&#xff0c;跟踪每天不发的大语言模型和精调语言模型。 我将根据个模型采用的基础大模型进行分类&#xff0c;每个大模型下列出各派生模型。 Alpaca (Stanford) 斯…

STM32CubeIDE基础学习-通用定时器中断实验

STM32CubeIDE基础学习-通用定时器中断实验 文章目录 STM32CubeIDE基础学习-通用定时器中断实验前言第1章 工程配置1.1 工程外设配置部分1.2 生成工程代码部分 第2章 代码编写第3章 实验现象总结 前言 生活中很多应用都有用到定时器功能、计时功能等。 定时器中断可以大大降低…

Win10文件夹共享(有密码的安全共享)(SMB协议共享)

前言 局域网内&#xff08;无安全问题&#xff0c;比如自己家里wifi&#xff09;无密码访问&#xff0c;参考之前的操作视频 【电脑文件全平台共享、播放器推荐】手机、电视、平板播放硬盘中的音、视频资源 下面讲解公共网络如办公室网络、咖啡厅网络等等环境下带密码的安全…

python爬虫———post请求方式(第十四天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

docker安装Nexus,maven私服

文章目录 前言安装创建文件夹设置文件夹权限docker创建指令制作docker-compose.yaml文件 查看网站访问网页查看密码 前言 nexus作为私服的maven仓库&#xff0c;在企业级应用中&#xff0c;提供了依赖来源的稳定性&#xff0c;为构建庞大的微服务体系&#xff0c;打下基础 安…

vue 浅解watch cli computed props ref vue slot axios nexttick devtools说明使用

Vue.js 是一个强大的前端框架&#xff0c;它提供了很多有用的功能和工具。你提到的这些特性&#xff08;watch、cli、computed、props、ref、slot、axios、nextTick、devtools&#xff09;在 Vue 中各自扮演着不同的角色。下面我会逐一解释这些特性如何在 Vue 中使用&#xff1…

20240405,数据类型,运算符,程序流程结构

是我深夜爆炸&#xff0c;不能再去补救C了&#xff0c;真的来不及了&#xff0c;不能再三天打鱼两天晒网了&#xff0c;真的来不及了呜呜呜呜 我实在是不知道看什么课&#xff0c;那黑马吧……MOOC的北邮的C正在进行呜呜 #include <iostream> using namespace std; int…