Python--List列表

list列表⭐⭐

1高级数据类型


Python中的数据类型可以分为:数字型(基本数据类型)和非数字型(高级数据类型)
●数字型包含:整型int、浮点型float、布尔型bool、复数型complex
●非数字型包含:字符串str、列表list、元组tuple、集合set、字典dict

高级数据类型的特点
●都是一个序列 sequence,也可以理解为 容器
●获取某一个元素 数据集[index] (集合除外,无序的)
●通过for循环遍历
●都可以计算长度、最大/最小值、比较、删除
●连接 + 和 重复 *
●切片,获取容器一部分

2. 列表

列表 是 Python 中使用 最频繁 的数据类型,专门用于存储 一串 数据,存储的数据 称为 元素
列表的类型是:list

2.1. 列表的定义

列表用[]定义,元素之间用逗号,分隔

namesList = ['林青霞','张曼玉','胡慧中']

2.2. 访问列表的元素

查找列表中元素是按照列表索引进行查找的。索引 就是元素在 列表 中的位置编号,又可以被称为 下标
索引是从0开始的,例如:第一个元素,索引就为0

namesList = ['林青霞','张曼玉','胡慧中']
# 获取第二个人
name = namesList[1]
print(name)

2.3. 遍历列表

可以通过for遍历列表中的元素

namesList = ['林青霞','张曼玉','胡慧中']
# 遍历列表
for name in namesList:print(name)

2.4. 列表的操作

列表可以增加新的元素,删除元素,修改元素。还可以对列表进行排序等操作

增加元素

通过append增加新元素

namesList = ['林青霞','张曼玉','胡慧中']
# 增加高圆圆
namesList.append('高圆圆')
print(namesList)

结果:

['林青霞', '张曼玉', '胡慧中', '高圆圆']

删除元素

通过pop删除指定索引元素

namesList = ['林青霞','张曼玉','胡慧中']
# 删除张曼玉
namesList.pop(2)
print(namesList)
# ['林青霞','张曼玉']

通过remove方法删除指定内容元素

namesList = ['林青霞','张曼玉','胡慧中']
# 删除张曼玉
namesList.remove('张曼玉')
print(namesList)

结果:

['林青霞', '胡慧中']

修改元素

通过 列表[索引]=新数据 修改元素

namesList = ['林青霞','张曼玉','胡慧中']
# 将张曼玉修改成高圆圆
namesList[1] = '高圆圆'
print(namesList)

结果:

['林青霞', '高圆圆', '胡慧中']

查询

通过 列表[索引] 获取元素

namesList = ['林青霞','张曼玉','胡慧中']
# 查找第二个元素
ele = namesList[1]
print(ele)

结果:

张曼玉

通过 列表.index(元素) 查找元素的索引

namesList = ['林青霞','张曼玉','胡慧中']
# 查找元素张曼玉的索引
index = namesList.index('张曼玉')
print(index)

结果:

1

2.5. 列表的排序

通过 列表.sort() 对列表进行升序排序

ageList = [90,10,30,20,50,70]
# 从小到大 升序
ageList.sort()
print(ageList)

结果:

[10, 20, 30, 50, 70, 90]

通过 列表.sort(reverse=True) 对列表进行降序排序

ageList = [90,10,30,20,50,70]
# 从大到小 降序排序
ageList.sort(reverse=True)
print(ageList)

结果:

[90, 70, 50, 30, 20, 10]

通过 列表.reverse() 对列表进行反转

ageList = [90,10,30,20,50,70]
# reverse 将列表进行反转
ageList.reverse()
print(ageList)

结果:

[70, 50, 20, 30, 10, 90]

2.6. 列表的嵌套

列表中的元素可以是列表类型的数据,就称为列表的嵌套

嵌套列表的定义:

students = [['林青霞','狄龙','郑少秋'],['张曼玉','梁朝伟']
]

查询元素

# 查询郑少秋
student = students[0][2]

修改元素

# 修改张曼玉位高圆圆
students[1][0] = '高圆圆'

3. 练习-办公室分配

需求

一个学校,有3个办公室,现在有8位老师等待工位的分配

['袁腾飞', '罗永浩', '俞敏洪', '李永乐', '王芳芳', '马云', '李彦宏', '马化腾']

请编写程序:

  1. 完成随机的分配
  2. 打印办公室信息 (每个办公室中的人数,及分别是谁)

分析

1. 定义3个办公室的列表:列表嵌套
2. 声明8位老师到列表中
3. 遍历老师的列表
4. 随机存放到办公室中

提示:获取随机数

import random
index = random.randint(0, 2) # 获取0、1、2中的任意一个

大家可以在评论区讨论这个练习

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

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

相关文章

TypeScript-type注解对象类型

type注解对象类型 在TS中对于对象数据的类型注解,除了使用interface之外还可以使用类型别名来进行注解,作用类似 type Person {name: stringage: number }const p:Person {name: lily,age: 16 } type 交叉类型&模拟继承 类型别名配合交叉类型…

docker创建的rabbitmq,启动容器时报:Failed to create thread: Operation not permitted (1)

原因:docker内的用户权限受限 启动docker时加上参数 --privilegedtrue docker run --privilegedtrue -d --name rabbitmq --restartalways -p 5671:5671 -p 5672:5672 -p 15672:15672 -p 15671:15671 -p 25672:25672 -v /home/rabbitmq/data/:/var/rabbitm…

整合SSM框架笔记

整合SSM框架笔记 Spring5 Spring MVC MyBatis Druid MySQL Thymeleaf 感谢尚硅谷课程:B站课程 前言 单Spring框架时,是Java工程。 Spring与Spring MVC可以共用一个配置文件,也可以不共用一个,推荐不共用一个。 Spring与Sp…

Quartus 联合 ModelSim 仿真 IP 核(RAM)

文章目录 ModelSim 路径设置创建 RAM进行仿真 本文主要介绍如何在包含 IP 核的 Quartus 项目中使用 Modelsim 进行仿真,本文基于 IP 核 RAM: 2-PORT,其他 IP 核类似。 ModelSim 路径设置 点击 Tools->Options 点击 EDA Tool Options,设置…

BeanFactory、FactroyBean、ApplicationContext

BeanFactory Ioc容器、定义接口规范来管理spring bean的生命周期、依赖、注入,spring中有各种Ioc容器 FactroyBean 定制的工厂Bean,可以通过抽象工厂方式创建的bean,不纳入spring的生命周期、依赖、注入特性,相当于spring给第三…

string OJ题

下面分享一下string做题心得 1. 明白字符串中存储的数字为0 8 9与0 8 9 完全不同,字符0其实在串中存储的是48,要有意识的转化。字符串中如果存数字8,意味着存了BS(退格) 例如1: 算出结果为5,存…

MySQL 用户变量赋值、查询赋值、滚动赋值

在MySQL中,用户变量是一种在会话级别存储和重用值的方式,它们以符号开头。用户变量可以在查询中用来存储和传递数据,增强SQL脚本的功能性。 定义和赋值用户变量用户变量可以直接在查询中定义并赋值,不需要预先声明。赋值可以使用S…

springboot+mybatis+druid 配置单实例多数据源

第一步&#xff1a;pom中添加依赖 <!--mybatis多数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>2.5.6</version></dependency> 第…

Selenium 自动化测试工具<2>(Selenium 常用API的使用方法)

文章目录 浏览器操作浏览器最大化设置浏览器的大小浏览器的前进和后退操作浏览器滚动条 键盘事件单个按键用法键盘组合键用法 鼠标事件不同窗口搜索定位一组元素定位多层框架下拉框定位alert、confirm、prompt 的处理上传文件操作自动截屏 继上一篇文章对 Selenium API 的使用&…

RT-DRET在实时目标检测上超越YOLO8

导读 目标检测作为计算机视觉的核心任务之一&#xff0c;其研究已经从基于CNN的架构发展到基于Transformer的架构&#xff0c;如DETR&#xff0c;后者通过简化流程实现端到端检测&#xff0c;消除了手工设计的组件。尽管如此&#xff0c;DETR的高计算成本限制了其在实时目标检测…

搭建属于自己的 Git 仓库:GitLab

搭建属于自己的 Git 仓库&#xff1a;使用 GitLab 文章目录 搭建属于自己的 Git 仓库&#xff1a;使用 GitLab什么是 GitLab&#xff1f;准备工作安装 Docker使用Docker Compose 快速构建GitLab1、从docker compose快速搭建GitLab2、部署到服务器并访问3、浏览器访问 在现代软件…

【数据结构】------C语言实现二叉树

作者主页&#xff1a;作者主页 数据结构专栏&#xff1a;数据结构 创作时间 &#xff1a;2024年5月20日 一、二叉树的定义 二叉树(Binary Tree) 是由n个结点构成的有限集(n≥0)&#xff0c;n0时为空树&#xff0c;n>0时为非空树。 对于非空树&#xff1a; 有且仅有一个根…

接口自动化核心模块Requests详解(一)

一、Requests简介 Python的Requests库是一个功能强大且简洁的库&#xff0c;提供了简单易用的接口来处理HTTP请求。 二、Requests的使用步骤 2.1 安装Requests库 在终端命令行&#xff0c;使用pip命令进行安装&#xff0c; pip install requests 2.2 Requests库常用方法…

腾讯Java社招面试题真题,最新面试题

Java中synchronized和ReentrantLock有什么区别&#xff1f; 1、锁的实现方式不同&#xff1a; synchronized是JVM层面的锁&#xff0c;主要依赖于监视器对象&#xff08;monitor&#xff09;实现。ReentrantLock是JDK层面的锁&#xff0c;通过Java代码实现&#xff0c;提供了更…

语雀——云知识库/笔记

对于日常进行学习/创作或是记录学习、工作内容与心得的群体来说&#xff0c;能够及时同步的云笔记应用有着广泛的应用场景。近期&#xff0c;我也探索了许多款不同的软件应用&#xff0c;今天来分享一款很有特点的应用——语雀。 语雀&#xff0c;为每一个人提供优秀的文档和知…

1.6 什么是程序-编译与调试

目录 1 程序的作用 2 新建项目及编译运行 2.1 新建项目 2.2 HelloWorld 程序说明 2.3 printf 打印输出 2.4 注释 3 程序的编译过程及项目位置 4 断点及调试窗口设置 5 学习C语言后的境界 1 程序的作用 如下图所示&#xff0c;我们编写了一个可以做加法的程序&#xf…

vue3 vite项目配置了proxy代理情况下查看真实的接口调用地址

vite配置了proxy代理情况下如何查看真实的接口调用地址? 使用vite进行代理 在vite.config.ts配置了代理 在浏览器查看请求头和响应头发现只有代理前的url&#xff0c;没有显示代理后的路径 然后发现一个bypass函数&#xff0c;但是此函数只能修改res响应头的数据&#xff0…

C语言基础-链表和数组的区别

在C语言中&#xff0c;链表&#xff08;Linked List&#xff09;和数组&#xff08;Array&#xff09;是两种常用的数据结构&#xff0c;它们在数据存储和访问上各有其独特的作用和优势。以下是对这两种数据结构的作用以及它们之间的不同点的详细说明&#xff1a; 数组&#x…

Dockerfile文件详细介绍

前言 Dockerfile是一个文本文件&#xff0c;包含了用于构建Docker镜像的所有命令和说明。它定义了容器的运行环境、依赖以及启动方式&#xff0c;是创建Docker镜像的核心部分。 由于制作镜像的过程中&#xff0c;需要逐层处理和打包&#xff0c;比较复杂&#xff0c;所以Docke…

实战复盘:内网环境渗透ms-SQL数据库

渗透环境&#xff1a;如下图所示&#xff0c;web服务器、ms-SQL服务器、PC客户端在同一个网络中&#xff0c;彼此之间&#xff0c;没有路由器或防火墙的隔离&#xff0c;这是一种危险的网络结构&#xff0c;入侵ms-SQL服务器&#xff0c;非常容易。&#xff08;实战中&#xff…