当前位置: 首页 > news >正文

Python学习(二)

数据容器

数据容器根据特点的不同,如:

  • 是否支持重复元素
  • 是否可以修改
  • 是否有序,等

分为5类,分别是:

列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)

列表

定义列表

变量名称 = [元素一, 元素二, .....]

定义空列表:

变量名称 = []或 变量名称 = list()

注意:列表可以存储不同的数据类型,且可以嵌套

列表方法

列表的常用操作(方法)
列表除了可以:

  • 定义
  • 使用下标索引获取值

以外,列表也提供了一系列功能:

  • 插入元素
  • 删除元素
  • 清空列表
  • 修改元素
  • 统计元素个数

等等功能,这些功能我们都称之为:列表的方法

# 取出指定下标索引的元素
my_list = ["张三", "李四", "王五"]
name1 = my_list[0]
print(name1)
# 取出最后一个元素,取出倒数第二个元素-2,依次类推
final_name = my_list[-1]
print(final_name)
# 查找元素在列表的下标索引
index = my_list.index("李四")
print(index)
# 修改元素的值
my_list[0] = "赵四"
print(my_list)
# 在指定位置插入元素,insert
my_list.insert(1, "酒桶")
print(my_list)
# 追加元素
my_list.append("劫")
print(my_list)
# 追加一批元素
my_list2 = [1, 2, 3]
my_list.extend(my_list2)
print(my_list)
# 删除元素del或者pop方法
del my_list[1]
print(my_list)
# pop方法还能把删除的值返回回来
hero = my_list.pop(3)
print(hero)
print(my_list)
# 通过元素内容删除元素,只删除第一个匹配到的,从左到右
my_list.remove(1)
print(my_list)
# 清空列表,clear
my_list.clear()
print(my_list)
# 统计列表内某元素的数量
my_list = ["张三", "李四", "王五", "张三"]
count = my_list.count("张三")
print(count)
# 统计列表内元素的数量
count = len(my_list)
print(count)
# 输出第二个元素的第二项,即5
my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list[1][1])

列表方法总览

经过上述对列表的学习,可以总结出列表有如下特点:

  • 可以容纳多个元素(上限为2**63-1、9223372036854775807个)
  • 可以容纳不同类型的元素(混装)
  • 数据是有序存储的(有下标序号)
  • 允许重复数据存在
  • 可以修改(增加或删除元素等)

列表遍历

1.什么是遍历?
将容器内的元素依次取出,并处理,称之为遍历操作
2.如何遍历列表的元素?
可以使用while或for循环
3.for循环的语法:
for 临时变量 in 数据容器
   对临时变量进行处理
4.for循环和while对比

  • for循环更简单,while更灵活
  • for用于从容器内依次取出元素并处理,while用以任何需要循环的场景

while循环和for循环,都是循环语句,但细节不同:

  • 在循环控制上:
  •      while循环可以自定循环条件,并自行控制
  •      for循环不可以自定循环条件,只可以一个个从容器内取出数据
  • 在无限循环上:
  •     while循环可以通过条件控制做到无限循环
  •     for循环理论上不可以,因为被遍历的容器容量不是无限的
  • 在使用场景上:
  •     while循环适用于任何想要循环的场景
  •     for循环适用于,遍历数据容器的场景或简单的固定次数循环场景

练习:找出列表中所有的偶数并添加到一个新的列表中

http://www.lryc.cn/news/328728.html

相关文章:

  • 管理阿里云服务器ECS -- 网站选型和搭建
  • WPF中继承ItemsControl子类控件数据模板获取选中属性
  • Android卡顿掉帧问题分析之实战篇
  • OpenKylin安装Kafka
  • 嵌入式硬件中常见的面试问题与实现
  • 【Node.JS】koa
  • 工作日志- 不定期更新
  • Qt使用opencv打开摄像头
  • Redis的Hash数据结构中100万对field和value,field是自增时如何优化?优化Hash结构。
  • 二十四种设计模式与六大设计原则(一):【策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式】的定义、举例说明、核心思想、适用场景和优缺点
  • mac怎么删除python
  • 【笔记】Android U RILJ 中与运营商名称SPN显示相关的日志分析
  • 蓝桥杯【奇怪的捐赠】c语言
  • 【3月比赛合集】5场可报名的「创新应用」、「数据分析」和「程序设计」大奖赛,任君挑选!
  • vue3 视频播放功能整体复盘梳理
  • vue-ueditor-wrap上传图片报错:后端配置项没有正常加载,上传插件不能正常使用
  • 数据仓库的发展历程
  • MySQL开窗函数
  • Java学习笔记(23)
  • nodejs下载安装以及npm、yarn安装及配置教程
  • Playwright库page.evaluate()方法执行JavaScript 表达式
  • 【微服务】OpenFeign+Sentinel集中处理远程调用异常
  • 集合嵌套,Collections,斗地主案例,日志框架
  • maven pom relativePath属性的作用
  • 【STM32 HAL库SPI/QSPI协议学习,基于外部Flash读取。】
  • Nginx入门--初识Nginx的架构
  • 网络性能提升10%,ZStack Edge 云原生超融合基于第四代英特尔®至强®可扩展处理器解决方案发布
  • 双非计算机考研目标211,选11408还是22408更稳?
  • 简单了解策略模式
  • 算法——运动模型