Python | 数据类型之列表

news2025/1/14 10:29:56

知识目录

    • 一、定义和遍历
      • 1.1 定义列表
      • 1.2 打印和截取列表
      • 1.3 遍历列表
    • 二、增删改查
      • 2.1 更新和删除列表
      • 2.3 脚本操作符 * + in
    • 三、函数和方法
      • 3.1 函数
      • 3.2 方法

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

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

一、定义和遍历

1.1 定义列表

list = []  # 1.定义一个空列表
print(type(list))

namelist = ["xiaoguo", "123", "321"]  # 2.定义并初始化一个列表
print(namelist[0])
print(namelist[1])
print(namelist[2])

list1 = [123, "Jerry"]  # 3.列表可以存储不同数据类型
print(type(list1[0]))
print(type(list1[1]))

1.2 打印和截取列表

list = [11,22,33]
print(list) # 1.打印列表所有元素
print(list[1:3]) # 2.方括号截取,左闭右开

nameList = ["xiaoguo","xiaojiang","xiaoma"]
print(nameList[2]) # 读取列表第三个元素
print(nameList[-2]) # 读取列表倒数第二个元素
print(nameList[1:]) # 从第二个元素读到最后
print(nameList[:2]) # 从第一个元素读到第二个元素

1.3 遍历列表

namelist = ["xiaoguo", "123", "321"]  # 定义并初始化一个列表
for name in namelist:
    print(name, end="\t")  # for循环遍历
    
print()

length = len(namelist)  # 获取列表长度
i = 0
while i < length:  # while循环遍历
    print(namelist[i], end="\t")
    i += 1

二、增删改查

2.1 更新和删除列表

list1 = [];
list1.append("Str") # 1.使用append()函数追加元素
list1.append(123)
print(list1)
list2 = [123,"Json","carry",6]
print(list2)
# 1.del()
del list2 # 删除整个列表
del list2[1]  # 删除第二个元素
print(list2)

# 2.pop() 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
print(list2.pop())
print(list2)
print(list2.pop(0))

# 3.remove() 移除列表中某个值的第一个匹配项
list3 = ["tom", "jery", "kete", "hello", "tom"]
list3.remove("tom")
print(list3)


2.3 脚本操作符 * + in

list = [1,"小王","xiaoLi"]
length = len(list) # 长度
print(length)

list1 = [2,"xiaoguo"]
print(list + list1) # 相加

list2 = list1*3 # 重复
print(list2)

b = 1 in list2 # 判断元素是否在列表中
print(b)

三、函数和方法

函数和方法的区别
与类和实例无绑定关系的function都属于函数(function),与类和实例有绑定关系的function都属于方法(method)
方法和函数类似,同样封装了独立的功能;简单的说,函数在python中独立存在,是可以直接使用的,而方法必须是别人调用才能实现的

3.1 函数

函数用法作用
cmp()Python 3.X 的版本中已经没有 cmp 函数,如果你需要实现比较功能,需要引入 operator 模块,适合任何对象,例如operator.lt(a,b)
len()列表元素个数
max()列表元素最大值,在列表中的元素是同类型时才可以比较,否则报错,如含有数字和字符串的列表不能比较
min()列表元素最小值,规则和max()函数一致
list()将元组转化为列表,元组和列表是非常相似的,区别在于元组的值不能更改,包含在圆括号中
# 1.cmp() 比较
list1 = [11, 22, 33, "123"]
list2 = [22, 33]
print(operator.lt(list1, list2))
# 2.len() 长度
print("length:%d"%len(list2))
# 3.max()
print(max(list2))  
# 4.min()
print(min(list2))  
# 5.list() 
tmp = (1, 2, 3, "jack")
print(type(tmp))
print(list(tmp))  # 将元组转化为列表

3.2 方法

# 1.append() 
list1 = ["mali", "tom"]
list1.append([12])
print(list1)

# 2.count() 
print(list1.count("tom"))

# 3.extend() 
list1.extend(["str", 1])
print(list1)

# 4.index()
print(list1.index(1))

# 5.insert()
list2 = [11, 22, 33]
list2.insert(1, 123)
print(list2)

# 6.pop()
print(list2.pop())
print(list2)
print(list2.pop(0))

# 7.remove()
list3 = ["tom", "jery", "kete", "hello", "tom"]
list3.remove("tom")
print(list3)

# 8.reverse()
list4 = [1, 2, 3]
list4.reverse()
print(list4)

# 9.sort()
list5 = [1, 5, -234, 329]
list5.sort()
print(list5)
list5.sort(reverse=True)
print(list5)

列表例题:8位老师随机分到3个办公室

# 定义三个办公室
offices = [[], [], []]
# 定义8个老师
teachers = ["A", "B", "C", "D", "E", "F", "G", "H"]
for name in teachers:
    # 生成0-2的3个随机数
    ran = random.randint(0, 2)
    # 将老师添加到随机办公室中
    offices[ran].append(name)
# 查看每间办公室的人数
i = 1
for office in offices:
    print("第%d间办公室有%d人,分别是:" %(i, len(office)))
    i+=1
    for off in office:
        print(off, end="\t")
    print()

首先,恭喜大家已经阅读完这篇文章啦!虽然我尽量以通俗简单的形式将内容体现出来,但水平有限,望大家海涵。我们下期再见,拜拜~

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

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

相关文章

springboot-rocketmq整合NOT_CONSUME_YET问题处理

一、测试流程1.添加POM<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.1</version></dependency>2.配置属性参数# 默认的消息组 rocketmq.producer.…

微信小程序项目初试总结

微信小程序项目初试总结准备工作注册小程序账号获取AppID下载 微信开发者工具下载 HBuilderX安装 scss/sass 编译HBuilderX 的调试新建项目把项目运行到微信开发者工具使用 Git 管理项目把项目托管到码云模块制作通用tabBar首页分类搜索商品列表商品详情加入购物车购物车页面登…

【手把手教你C#如何使用SqlSugar操作MySQL数据库】三 SqlSugar使用案例

SqlSugar 连接数据库、创建数据表、增删改查用法1.SqlSugar 连接MySQL数据库1.创建数据库2.创建库中的数据表3.数据的插入4.数据的查询5.数据更新6.数据保存7.数据删除2.整体案例脚本代码1.SqlSugar 连接MySQL数据库 1.创建数据库 using SqlSugar; public class DB : Singlet…

Word数据恢复,简单几个方法恢复未保存的Word文档!

日常生活中&#xff0c;我们经常会用到Word文档&#xff0c;里面记录着我们很多重要内容。当遇到电脑死机、没电关机&#xff0c;或者是编辑文档的软件突然崩溃&#xff0c;我们又没有及时保存Word文档里面的数据&#xff0c;这时该怎么办&#xff1f;Word数据恢复&#xff0c;…

[LeetCode]2319. 判断矩阵是否是一个 X 矩阵

如果一个正方形矩阵满足下述 全部 条件&#xff0c;则称之为一个 X 矩阵 &#xff1a; 矩阵对角线上的所有元素都 不是 0矩阵中所有其他元素都是 0 给你一个大小为 n x n 的二维整数数组 grid &#xff0c;表示一个正方形矩阵。如果 grid 是一个 X 矩阵 &#xff0c;返回 true…

VX拜年红包测试用例设计分享

功能测试 1.红包最多可以输入的金额&#xff1b;2.红包一次性可以发送的最大个数3.在输入红包的钱数和个数时只能输入数字4.当余额不足时&#xff0c;红包发送失败5.发送的红包自己是否可以领取6.发送的红包别人是否可以领取7.红包超过 24 小时是否可以领取8.红包超时未领取&a…

刑啊,为什么不刑

前言 你还在为使用浏览器的时候&#xff0c;忘记密码而烦恼吗&#xff1f;今天要分享的不为人知的小技巧&#xff0c;利用前端技术原理来帮助你找回原密码。 在我们使用各种网站登录时&#xff0c;总会勾选上记住密码这一项。 但长时间依赖记住密码&#xff0c;难免有遗忘的情…

CVE-2022-30331-TigerGraph 3.6.0 UDF 功能漏洞分析

TigerGraph UDF 漏洞&#xff1a;详细信息和示例 CVE 参考地址&#xff1a;http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVDCNNVD-202209-215 TigerGraph 图数据库为用户提供了远程上传任意 C 源代码以创建用户定义函数的工具。该代码会自动编译并安装到敏感的系统组件中…

涨薪【20k】的python接口自动化系列文章(一)--什么是接口、接口优势、类型(详解)

简介 经常听别人说接口测试&#xff0c;接口测试自动化&#xff0c;但是你对接口&#xff0c;有多少了解和认识&#xff0c;知道什么是接口吗&#xff1f;它是用来做什么的&#xff0c;测试时候要注意什么&#xff1f;坦白的说&#xff0c;笔者之前也不是很清楚。接下来先看一下…

go 实现抓包 ,盗取浏览器接口信息|反反爬虫

项目地址 https://github.com/kxg3030/shermie-proxy 安装方法 如果有现有的项目可以可安装&#xff1a; go get github.com/kxg3030/shermie-proxy 尝试源码 git clone gitgithub.com:kxg3030/shermie-proxy.git 运行代码 克隆项目下来之后 安装依赖包 go mod tidy 运行程序…

详解注意力机制和Transformer

本文的学习路线&#xff1a; &#x1f4cd; Attention 从生物学的角度引入到计算机视角&#xff0c;介绍了什么是Attention ▶️介绍Encoder-Decoder框架 (目前大部分Attention Model都是依附于该框架实现)▶️ 介绍了Attention模型中的基础概念查询、键和值 ▶️ 通过讲解Nad…

地理坐标系,投影坐标系区别

目录1. 地球的三级逼近1.1 大地水准面1.2 旋转椭球体1.3 参考椭球体2. 地理坐标系&#xff08;大地坐标系&#xff09;2.1 大地基准面2.2 地理坐标系3. 投影坐标系参考1. 地球的三级逼近 1.1 大地水准面 概念 地球的自然状态下其表面并不是连续不断的&#xff0c;高山、悬崖的…

SpringBoot系列 整合MyBatis

数据源 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version> </dependency> yml spring: datasource: type: com.al…

C语言---插入排序(直接插入和希尔)

文章目录前言一、直接插入排序1.简介2.算法思路3.代码实现二、希尔排序1.简介2.算法思路3.代码实现前言 插入排序一般分为两种&#xff0c;一种直接插入排序&#xff0c;另一种则是希尔排序。 一、直接插入排序 1.简介 直接插入排序是一种简单的排序方法&#xff0c;基本操作…

每天一道大厂SQL题【Day02】电商场景TopK统计

每天一道大厂SQL题【Day02】 大家好&#xff0c;我是Maynor。相信大家和我一样&#xff0c;都有一个大厂梦&#xff0c;作为一名资深大数据选手&#xff0c;深知SQL重要性&#xff0c;接下来我准备用100天时间&#xff0c;基于大数据岗面试中的经典SQL题&#xff0c;以每日1题…

数据包络分析DEA(数学建模)

一、模型背景数据包络分析是线性规划模型的应用之一&#xff0c;常被用来衡量拥有相同目标的运营单位的相对效率。数据包络分析是一种基于线性规划的用于评价同类型组织(或项目&#xff09;工作绩效相对有效性的特殊工具手段。这类组织例如学校、医院、银行的分支机构、超市的各…

Qt QRegExp正则表达式

Qt QRegExp正则表达式 前言一、正则表达式是什么?二、元字符是什么?三、 常用表达式四、 在QT中的用法总结前言 在用写程序的时候,往往会用到正则表达式,不仅仅是Web开发,MFC、GTK+、Qt开发的图形界面也是如此,只要了解其原理,语法也都大相径庭! 一、正则表达式是什么…

java ssm智慧校园校医室问诊系统 idea maven

基于JSP技术、SSM框架、B/S机构、Mysql数据库设计并实现了智慧校园校医室问诊系统。系统主要包括个人中心、学生管理、校医管理、药品信息管理、校医科室管理、预检分诊管理、医生推荐管理、预约问诊管理、线上就诊管理、药方信息管理、药品购买管理、系统管理等功能模块。 通过…

nodejs+vue教师资格考前指导系统HTML5

前端&#xff1a;HTML5,CSS3、JavaScript、VUE 设计步骤如下&#xff1a; 1、明确系统的业务流程和数据流程&#xff0c;并用UML画出相应的活动图、顺序图。 2、设计数据字典&#xff0c;明确编码规则。 3、数据库进行设计&#xff0c;建立约束和联系。 4、创建程序框…

2022摄影摄像行业年度分析报告:单反小幅下滑,微单销额增长超32%

近年来&#xff0c;随着人们物质生活水平的提高&#xff0c;智能手机、数码相机等3C数码产品的普及率逐渐提高。人们需求的不断提升也拉动着整个产业产能的迅速增长&#xff0c;与此同时&#xff0c;产品的多样性和使用场景也在不断更新。 根据数据显示&#xff0c;2022年摄影摄…