Python 数据容器(1) - list(列表)

news2024/11/29 22:51:01

文章目录

        • 什么是数据容器?
        • Python中的数据容器
        • 数据容器:list(列表)
          • 基本语法
          • 案例演示
          • 列表的下标(索引)
          • 列表常用操作
        • list容器操作
        • 总结

什么是数据容器?

一种可以容纳多份数据的数据类型,容纳的每一份数据成为一个元素,每一个元素可以是任意的数据,如字符串、数字、布尔等。

Python中的数据容器

分为5类: 列表(list)、元祖(tuple)、字符串(str)、集合(set)、字典(dict)。

数据容器:list(列表)

基本语法
   # 字面量
  [元素1,元素2,元素3,元素4,.....]
  
   # 定义变量
  变量名称 = [元素1,元素2,元素3,元素4,.....]

   # 定义空列表
   变量名称 = []
   变量名称 = list()
案例演示
nameList = ['zhangsan','lisi','wangwu']
print(nameList)
print(type(nameList))

# ['zhangsan', 'lisi', 'wangwu']
# <class 'list'>

list = ['zhangsan', 555, True]
print(list)
print(type(list))

# ['zhangsan', 555, True]
# <class 'list'>

# 注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套
列表的下标(索引)

列表的每一个元素,都有其位置下标索引。
从前往后的方向,编号从0开始递增。
从后往前的方向,编号从-1开始递减。

#语法:列表[下表索引]

nameList = ['zhangsan','lisi','wangwu']
print(nameList[0]) # 结果:zhangsan
print(nameList[1]) # 结果:lisi
print(nameList[2]) # 结果: wangwu

# 或者
print(nameList[-1]) # 结果:wangwu
print(nameList[-2]) # 结果:lisi
print(nameList[-3]) # 结果:zhangsan

列表常用操作
# list列表常用操作

mylist = ["one", "two", "three"]
# 1.1 查找某元素在列表的下标索引
index = mylist.index("one")
print(f"one在列表中的下标索引值是:{index}")
# 结果:one在列表中的下标索引值是:0

# 1.2 如果被查找的元素不存在,会报错
# index = mylist.index("four")
# print(f"four在列表的下标索引值是:{index}")
# 结果:ValueError: 'four' is not in list

# 2.修改下标索引值
mylist[0] = "four"
print(f"列表中修改后的值:{mylist}")
# 结果: 列表中修改后的值:['four', 'two', 'three']

# 3.在指定下标位置插入元素
mylist.insert(1, "five")
print(f"插入元素之后的值:{mylist}")
# 结果: 插入元素之后的值:['four', 'five', 'two', 'three']

# 4.在列表的尾部插入"单个元素"
mylist.append("six")
print(f"插入单个元素之后的值:{mylist}")
# 结果: 插入单个元素之后的值:['four', 'five', 'two', 'three', 'six']

# 5.在列表的尾部追加"一批"元素
mylist2 = [1, 2, 3]
mylist.extend(mylist2)
print(f"插入一批元素之后的值:{mylist}")
# 结果: 插入一批元素之后的值:['four', 'five', 'two', 'three', 'six', 1, 2, 3]

# 6.删除指定下标索引的元素(2中方式)
mylist = ["one", "two", "three"]
# 6.1 方式1:del 列表[下标]
del mylist[2]
print(f"列表删除元素后的结果是:{mylist}")
# 结果:列表删除元素后的结果是:['one', 'two']
# 6.2 方式2:列表.pop(下标)
mylist = ["one", "two", "three"]
element = mylist.pop(1)
print(f"列表删除元素的下标是:{element},当前列表内容是:{mylist}")
# 结果:列表删除元素的下标是:two,当前列表内容是:['one', 'three']

# 7、删除某元素在列表中的第一个匹配项
mylist = ["one", "two", "one", "three"]
mylist.remove("one")
print(f"通过remove方法移除元素后,列表的结果是:{mylist}")
# 结果:通过remove方法移除元素后,列表的结果是:['two', 'one', 'three']

# 8. 清空列别
mylist = ["one", "two", "three"]
mylist.clear()
print(f"列表被清空了,列表的结果是:{mylist}")
# 结果是:列表被清空了,列表的结果是:[]

# 9. 统计列表内元素的数量
mylist = ["one", "two", "one", "three"]
count = mylist.count("one")
print(f"当前列表one的数量:{count},列表的值:{mylist}")
# 结果:当前列表one的数量:2,列表的值:['one', 'two', 'one', 'three']

# 10.统计列表中全部元素数量
mylist = ["one", "two", "one", "three"]
count = len(mylist)
print(f"列表元素数量总共有:{count},列表的值:{mylist}")
# 结果:列表元素数量总共有:4,列表的值:['one', 'two', 'one', 'three']

list容器操作

在这里插入图片描述

总结

1、什么是元素?

数据容器内的每一份数据,都称之为元素

2、元素的类型有限制吗?

元素的数据类型没有任何限制,甚至元素也可以是列表,这样就定义了嵌套列表

3、如何通过下标索引取出对应位置的元素呢?

列表下标,几可取出。

4、下标索引的注意事项:

要注意下标索引的取值范围,超出范围无法取出元素,并且会报错。

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

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

相关文章

算法学习 | 回溯算法之深度优先搜索常见题型练习

目录 岛屿的最大面积 电话号码的字母组合 二进制手表 组合总数 活字印刷 岛屿的最大面积 题目链接&#xff1a;leetcode-695.岛屿的最大面积 示例 输入&#xff1a;grid [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,…

线程“八锁“ synchronized到底是对哪个对象加锁?

线程"八锁" synchronized到底是对哪个对象加锁? 习题一 class Number{public synchronized void a(){System.out.println("1");}public synchronized void b(){System.out.println("2");} } public class TestBlock {public static void main(…

从Zemax OpticStudio导入光学系统

摘要 ZemaxOpticStudio是一款广泛使用的光线追迹软件。VirtualLab Fusion可以从Zemax OpticStudio导入光学系统&#xff0c;包括完整3D位置信息和镜片玻璃。导入后&#xff0c;光学系统的结构数据将显示为单独的表面或可以组合成VirtualLab Fusion中的组件。VirtualLab Fusion可…

docker入门(一):在centOS虚拟机上安装docker

索引CentOS虚拟机安装1.下载CentOS镜像问题1-报错“您已输入用户名&#xff0c;客户机操作系统将保留此用户名”2.根据docker官方指导进行安装1.卸载旧版本&#xff08;初次安装可以忽略&#xff09;2.确保能联网后下载前置软件包3.设置镜像库&#xff08;阿里版&#xff09;4.…

CLIP后续--LSeg,GroupViT,ViLD

这个博客开了有两个月&#xff0c;一直没写成&#xff0c;最近封寝给它完成~躺平第三天 CLIP应用领域概览&#xff1a; 1. LSeg 原论文地址&#xff1a;https://arxiv.org/abs/2201.03546 代码&#xff1a;https://github.com/isl-org/lang-seg 这个图就很清楚的说明了zero…

mysql数据库管理

目录 一、MySQL数据库管理 1、库和表 2、常用的数据类型 3、char和varchar区别 二、查看数据库结构 三、SQL语句 1、SQL语句分类&#xff1a; 四、创建及删除数据库和表 五、管理表中的数据记录 六、修改表名和表结构 七、自增 八、填充 九、克隆表 十、清空表&am…

信号与系统1——Signals and Systems

信号与系统1——Signals and Systems一、Introduction1. Signals and Systems信号与系统(1) Signal信号(2) System系统2. Classification of Signals信号的分类(1) Continuous-time & discrete-time1) Continuous-Time signal连续时间信号2) Discrete-Time signal离散时间信…

【Hack The Box】linux练习-- Passage

HTB 学习笔记 【Hack The Box】linux练习-- Passage &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年9月7日&#x1f334; &#x1f36…

浅析数据仓库和建模理论

第一章 认识数据仓库 1.1 数据仓库概念 数据仓库&#xff0c;英文名称为 Data Warehouse&#xff0c;可简写为 DW 或 DWH。数据仓库&#xff0c;是为企业所有级别的决策制定过程&#xff0c;提供所有类型数据支持的战略集合。它是单个数据存储&#xff0c;出于分析性报告和决…

BDD - SpecFlow SpecRun Web UI 多浏览器测试

BDD - SpecFlow & SpecRun 一个 Cases 匹配多个浏览器引言方案SpecFlow Runner profiles实现被测 Web Application创建一个 Class Libary 项目添加 NuGet PackagesSpecFlow & SpecRun 包添加 Selenium包其它包创建 Feature 文件配置 Default.srprofileDefault.srprofil…

MySQL的概念

MySQL的概念一.数据库的基本概念1、数据&#xff08;Data&#xff09;2、表3、数据库4、数据库管理系统&#xff08;DBMS&#xff09;4.1 关系数据库4.2 非关系型数据库 NoSQL5、数据库系统6、访问数据库的流程二.数据库系统发展史1.第一代数据库2.第二代数据库3.第三代数据库三…

JAVA多线程(MultiThread)的各种用法

多线程简单应用 单线程的问题在于&#xff0c;一个线程每次只能处理一个任务&#xff0c;如果这个任务比较耗时&#xff0c;那在这个任务未完成之前&#xff0c;其它操作就会无法响应。 如下示例中&#xff0c;点击了“进度1”后&#xff0c;程序界面就没反应了&#xff0c;强行…

类文件结构和初识一些字节码指令

文章目录类文件的结构为什么要了解字节码指令Class文件结构Java虚拟机规定的类结构魔数版本常量池访问标志类索引、父类索引、接口索引Ⅰ. interfaces_count&#xff08;接口计数器&#xff09;Ⅱ. interfaces[]&#xff08;接口索引集合&#xff09;字段表集合**1. 字段表访问…

【React】使用 react-pdf 将数据渲染为pdf并提供下载

文章目录前言环境步骤1. 安装react脚手架2. 使用 create-react-app 创建项目 &#xff08;首字母不要大写、不要使用特殊字符&#xff09;3. 用 vscode 打开目录 react-staging4. yarn 启动项目5. 参考 react-pdf readme加入依赖6. 结合 github readme 和官方文档产出 demo 代码…

OpenGL 色彩替换

目录 一.OpenGL 色彩替换 1.IOS Object-C 版本1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 色彩替换 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录…

防抖debounce与节流throttle(63rd)

一、前言 当用户高频触发某一事件时&#xff0c;如窗口的resize、scroll&#xff0c;输入框内容校验等&#xff0c;此时这些事件调用函数的频率如果没有限制&#xff0c;可能会导致响应跟不上触发&#xff0c;出现页面卡顿&#xff0c;假死现象。此时&#xff0c;我们可以采用…

深度剖析NIKE Web3平台:为什么Web3对品牌很重要?

欢迎关注沉睡者IT&#xff0c;点上面关注我 ↑ ↑ 上周&#xff0c;NIKE 宣布了其新的 Web 3 平台 .SWOOSH&#xff0c;这是 NIKE Virtual Sudios (耐克虚拟工作室) 的一项新举措&#xff0c;将成为 NIKE 所有数字资产创作的“大本营”。继去年收购 RTFKT 之后&#xff0c;此次…

SpringBoot SpringBoot 原理篇 3 核心原理 3.4 启动流程【3】

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇3 核心原理3.4 启动流程【3】3.4.1 看源码咯3 核心原理 3.4 启动流程【3】 …

负载均衡反向代理下的webshell上传

目录 架构如下&#xff1a; 实验环境&#xff1a; AntSword-Labshttps://github.com/AntSwordProject/AntSword-Labs 搭建环境&#xff1a; 启动环境&#xff1a; 测试连接&#xff1a; 地址不停的在漂移会造成的问题&#xff1a; 难点一&#xff1a;我们需要在每一台节点…

特征工程(六)—(2)利用LDA进行特征转换

1、LDA的手动处理 LDA&#xff08;线性判别分析&#xff09;是特征变换算法&#xff0c;也是有监督分类器。 和PCA一样&#xff0c;LDA的目标是提取一个新的坐标系&#xff0c;将原始的数据集投影到一个低维的空间中。 和PCA的主要区别是&#xff0c;LDA不会专注数据的方差&a…