Python 基础 笔记(八) 容器---元组、字典、集合

简介: Python 基础 笔记(八) 容器---元组、字典、集合

一、元组

1、元组--入门

"""
元组格式:
    tuple1 = ('hello','world','python')   #值不可变
  #元组可以存储多个数据且元组内的数据是不能修改的。
"""
 
# 定义一个元组:多个数据
t_1 = (11, 22, 33, 33, 'hello', True)  # 定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。
 
 
print(t_1)
print(type(t_1))
 
print('-----------------------------------')
 
t_2 = (10,)
print(t_2)
print(type(t_2))
"""
列表格式:
    list1 = ['hello','world','python']   #值可变
元组格式:
    tuple1 = ('hello','world','python')   #值不可变
  #元组可以存储多个数据且元组内的数据是不能修改的。
"""
 
t_1 = (11, 22, 33, ['xxx', 'yyy', 'zzz'], 44, 55)
print(t_1[2])
print(t_1[3][1])
 
 
print('---------------------')
 
# t_1[2] = 88  # 报错:元组不能修改
t_1[3][1] = 'www'   # 元组中如果嵌套列表,则列表中的元素是可以修改
print(t_1)
 
 

2、元组--函数

"""
函数:
 元组[索引]
 index() :获取元素在元组中的索引
 count() :统计某个元素在元组中出现的次数
 len()   :元组中元素的个数
"""
 
# 空列表
list1 = []
# 空元组
t_0 = ()
print(type(t_0))
 
t_1 = (11, 22, 33, ['xxx', 'yyy', 'zzz'], 44, 33, 33, 55)
 
print(t_1.index(33))  # 2  --->33在元组中出现的索引是2
# print(t_1.index('yyy')) # 报错
 
print(t_1.count(33))  # 3  表示33在元组中出现3次
 
print(len(t_1))  # 8 表示元组中有8个元素,嵌套的列表是一个元素

元组

  • 特点: 元组中的数据不可变化
  • 只有一个元素的元组: (1,)
  • in/not in()
  • count()
  • index()
  • 下标获取元素的值

二、字典

1、字典--入门

"""
字典描述的就是键值对
根据键找对应的值
"""
 
# 定义空字典
d_1 = {}
d_2 = dict()
print(type(d_1))
print(type(d_2))
 
# 定义字典
d_person = {'name': '张三', 'age': 18, 'sex': '男'}
print(d_person)
 
# 在字典中添加元素
d_person['address'] = '北京'  # 如果添加的键不存在,则加入
d_person['age'] = '99'  # 如果添加的键存在,则修改
print(d_person)
 
# 从字典中查找元素: 根据键  获取值
print(d_person.get('name2'))  # 如果键存在,则返回对应的值,如果键不存在,则返回None
print(d_person.get('id', '1000'))  # 如果键存在,则返回对应的值,如果键不存在,则返回默认值
print('--------------------------')
print(d_person['name'])
print(d_person['age'])

2、字典--遍历

"""
字典描述的就是键值对
根据键找对应的值
"""
 
# 定义字典
d_person = {'name': '张三', 'age': 18, 'sex': '男'}
print(d_person)
 
print('----------- 遍历方法一 -----------------')
# 获取字典中所有的键(丈夫)
keys = d_person.keys()
 
# 遍历每一个key 通过每一个key去获取对应的值
for key in keys:
    print(f'{key} {d_person[key]}')
print('--------------------')
for key in keys:
    print(f'{key} {d_person.get(key)}')
 
# 获取字典中所有的值(媳妇)
values = d_person.values()
print(values)
 
print('----------- 遍历方法二 -----------------')
 
items = d_person.items()  # [('name', '张三'), ('age', 18), ('sex', '男')]
for item in items:
    print(f"{item[0]} \t {item[1]}")
 
print('----------- 遍历方法三 -----------------')
items = d_person.items()  # [('name', '张三'), ('age', 18), ('sex', '男')]
for k, v in items:
    print(f"{k} \t {v}")

3、字典--删除和清空

"""
可变容器:列表、字典
不可变容器:字符串、元组
"""
# 定义字典
d_person = {'name': '张三', 'age': 18, 'sex': '男'}
 
del d_person['age']  # 删除age对应的键值对
d_person.clear()  # 清空字典
del d_person  # 删除字典
print(d_person)

字典


使用场景:


存储一类相同数据的时候 使用列表存储


存储某一人或者事物的详细描述信息 使用字典存储


注意点


key-value的形式存储数据的


字典的key值必须是不可变的数据类型


不可变的数据类型


字符串


数字类型


元组


可变的数据类型


列表


字典中的key值都是唯一的


字典的使用



a["新的key"] = value


删除


del a["key"]



a["老的key"] = value



a[key]


字典的函数


keys()


获取全部的key值 存储到一个列表中


values()


获取全部的value值 存储到一个列表中


items()


获取全部的key-value对


for i in 字典.items()


for key,vlaue in 字典.items()

三、集合

1、集合--入门

"""
1、集合是Python中的容器,使用{}来表示
2、集合中的元素的值是唯一的,如果你存储的数据不唯一,则集合会自动去重
3、集合中存储数据的顺序和取出的顺序没关系
   'hello' 'python'  'java' ----->  'python'  'java' 'hello'
集合唯一的作用就是去重
集合是可变的
"""
 
# 1、定义空集合
set1 = {}  # 不行,这种是定义字典
print(type(set))
 
set2 = set()  # 行,空集合
print(type(set2))
 
set2.add('xxxx')  # 集合是可变的
print(set2)
 
# 2、定义非空集合
set2 = {'hello', 'hello', 'hello', 1, 1, 1}  # 去重,存取无序
print(set2)
# print(set2[0])   集合是无序的,不可用索引获取数据,没有索引的概念
 
# 3、列表和集合的转换
# 3.1列表转集合
print('------------------------------------')
list1 = [1, 1, 1, 'hello', 'hello', True, True, True]
set3 = set(list1)  # 类似于强转
print(set3)
 
# 3.2集合转列表
set4 = {'hello', 1, 3, 'hello', True, 'python', 1, 3}
list2 = list(set4)  # 类似于强转
print(list2)

2、集合--基本操作

"""
1、集合是Python中的容器,使用{}来表示
2、集合中的元素的值是唯一的,如果你存储的数据不唯一,则集合会自动去重
3、集合中存储数据的顺序和取出的顺序没有关系
   'hello' 'python'  'java' ----->  'python'  'java' 'hello'
集合唯一的作用就是去重
集合是可变的
"""
# 定义集合
set1 = {1, 2, 3, 4, 5}
 
set1.add(8)  # 向集合添加元素
set1.remove(5)  # 移除集合的元素
del set1
 
# print(set1)
# print('----------------------------')
#
# print(4 in set1)  # 判断4是否在集合中,布尔
#
# print('----------------------------')
# # 遍历集合
# for i in set1:
#     print(i,end=' ')
目录
相关文章
|
3月前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
107 1
思科设备巡检命令Python脚本大集合
|
6天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
19 2
|
2月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
20 1
|
2月前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
59 1
|
3月前
|
搜索推荐 Python
Leecode 101刷题笔记之第五章:和你一起你轻松刷题(Python)
这篇文章是关于LeetCode第101章的刷题笔记,涵盖了多种排序算法的Python实现和两个中等难度的编程练习题的解法。
31 3
|
3月前
|
算法 C++ Python
Leecode 101刷题笔记之第四章:和你一起你轻松刷题(Python)
这篇博客是关于LeetCode上使用Python语言解决二分查找问题的刷题笔记,涵盖了从基础到进阶难度的多个题目及其解法。
24 0
|
3月前
|
算法 C++ Python
Leecode 101刷题笔记之第三章:和你一起你轻松刷题(Python)
本文是关于LeetCode算法题的刷题笔记,主要介绍了使用双指针技术解决的一系列算法问题,包括Two Sum II、Merge Sorted Array、Linked List Cycle II等,并提供了详细的题解和Python代码实现。
19 0
|
3月前
|
算法 C++ 索引
Leecode 101刷题笔记之第二章:和你一起你轻松刷题(Python)
本文是关于LeetCode 101刷题笔记的第二章,主要介绍了使用Python解决贪心算法题目的方法和实例。
18 0
|
3月前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
302 0
|
3月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
50 0

热门文章

最新文章