Python学习(二)

数据容器

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

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

分为5类,分别是:

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

列表

定义列表

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

定义空列表:

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

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

列表方法

列表的常用操作(方法)

列表除了可以:

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

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

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

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

python 复制代码
# 取出指定下标索引的元素
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循环适用于,遍历数据容器的场景或简单的固定次数循环场景

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

相关推荐
xian_wwq24 分钟前
【学习笔记】「大模型安全:攻击面演化史」第 07 篇-安全左移
人工智能·笔记·学习
秋雨梧桐叶落莳24 分钟前
iOS——NSUserDefaults学习
学习·macos·ios·objective-c·cocoa
易小染2 小时前
AI-Agent学习-LangChain-01
学习·langchain
xian_wwq3 小时前
【学习笔记】「大模型安全:攻击面演化史」第 03 篇-数据投毒
笔记·学习·ai安全
.千余4 小时前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
ysu_03145 小时前
leetcode数据结构与算法1~4
c语言·数据结构·学习·算法·leetcode
暗夜猎手-大魔王6 小时前
hermes源码学习3-Agent Loop 内部机制
人工智能·学习
say_fall6 小时前
可编程中断控制器8259A工作方式超详细解析
android·开发语言·学习·硬件架构·硬件工程
吃好睡好便好6 小时前
说说食物依赖性运动诱发过敏
学习·生活
Amazing_Cacao8 小时前
深度专栏 | 粉碎感官玄学:精品可可的冷酷重构与物理变量
学习