元组(tuple)

元组·的三个特点:

1.有序项目集合。

2.可以存放任何类型的数据

3.元组是不可变数据类型

元组的定义:

>>> tu1 = ()>>> type(tu1)>>> tu2 =tuple() # tuple()元组转换函数也是一个工厂函数。>>> tu2()>>> tu2 = tuple([1,2,3])>>> tu2(1, 2, 3)

**当元组里面只有一个元素的时候,需要在元素后面加一个,

不然不会被认为是一个元组。

>>> tu3 = (1)
>>> type(tu3)
<class 'int'>
>>> tu4 = (1,)
>>> type(tu4)
<class 'tuple'>

元组的属性

元组只有两个属性: index 和 count

>>> tu2.index(3)   #  --》  元组里面没有 find 属性
2
>>> tu2.count(3)
1

元组的切片

元组是有序的项目集合,所以,元组是可以切片的。

格式: tuple[start::end:step]

tuple1 = ('sc', 1, 2, 3, 4, "wang")
print(tuple1[0])
print(tuple1[4])
print(tuple1[1:3])
print(tuple1[::-1])
print(tuple1[::2])E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py
sc
4
(1, 2)
('wang', 4, 3, 2, 1, 'sc')
('sc', 2, 4)Process finished with exit code 0

元组是一个不可变数据类型

元组是不可变数据类型,一旦给元组元素赋值就不能再去更改它

只能再重新赋值。

tuple1 = ('sc', 1, 2, 3, 4, "wang")
tuple1[0] = 1E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py
Traceback (most recent call last):File "E:\tlbb\容器类型.py", line 86, in <module>tuple1[0] = 1
TypeError: 'tuple' object does not support item assignment

元组可以存放任何类型数据

元组里面可以存放任何类型的数据,包括列表,函数等,都可以存放

tuple1 = ('sc', [1, 2, 2, 3, 4, 6, 7], 2, 3, 4, "wang", print())
print(tuple1)E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py('sc', [1, 2, 2, 3, 4, 6, 7], 2, 3, 4, 'wang', None)Process finished with exit code 0

在元组里的列表可以随意修改它的值,因为修改的的列表的值,元组里面依然是一个列表,没有变

tuple1 = ('sc', [1, 2, 2, 3, 4, 6, 7], 2, 3, 4, "wang", print())
print(tuple1)
tuple1[1].append(100)
print(tuple1)
tuple1[1].pop(1)
print(tuple1)E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py('sc', [1, 2, 2, 3, 4, 6, 7], 2, 3, 4, 'wang', None)
('sc', [1, 2, 2, 3, 4, 6, 7, 100], 2, 3, 4, 'wang', None)
('sc', [1, 2, 3, 4, 6, 7, 100], 2, 3, 4, 'wang', None)Process finished with exit code 0

字典  (dict)

字典是python里面一个 键值映射的数据类型

字典是无序的,所以不可以切片

字典是可变对象,可变数据类型

字典是键值映射,一一对应的

key  是惟一的,所以字典是天生去重的,value可以重复的,可以为任意值

字典的定义

>>> d1 = {} --》字典定义一个空字典。

>>> type(d1)

>>> d2 = dict() --》 定义d2为一个空字典,dict()字典转换函数,他 也是一个工厂函数。

>>> type(d2)

字典通过花括号对键值用:分隔开

获取字典的键值

直接用dict["key"]获取值

dict1 = {"a":1, "b":2, "c":3, "d":4, "e":5}
print(dict1["a"])
print(dict1["b"])
print(dict1["c"])
print(dict1["d"])
print(dict1["e"])E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py
1
2
3
4
5Process finished with exit code 0

用 .get属性来获取值

如果存在,会直接去除它的值,如果不存在,不会报错,会返回None

dict1 = {"a":1, "b":2, "c":3, "d":4, "e":5}
print(dict1.get("a"))
print(dict1.get("b"))
print(dict1.get("c"))
print(dict1.get("f"))E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py
1
2
3
None

字典的新增

dirt[key] = value

如果key存在,就是修改。

如果key不存在,就是新增,默认新增在末尾。

dict1 = {"a":1, "b":2, "c":3, "d":4, "e":5}
dict1["apple"] = 4.5
print(dict1)
dict1["a"] = 50
dict1["b"] = 60
print(dict1)E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'apple': 4.5}
{'a': 50, 'b': 60, 'c': 3, 'd': 4, 'e': 5, 'apple': 4.5}Process finished with exit code 0

字典的删除

dict.pop  注意,字典里面的pop属性只能指定元素删除,不能指定下标删除,

dict.popitem() --》默认删除最后一个

dict1 = {"a":1, "b":2, "c":3, "d":4, "e":5}
# dict1["apple"] = 4.5
# print(dict1)
# dict1["a"] = 50
# dict1["b"] = 60
print(dict1)
dict1.pop("a")
print(dict1)
dict1.popitem()
print(dict1)E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
{'b': 2, 'c': 3, 'd': 4, 'e': 5}
{'b': 2, 'c': 3, 'd': 4}Process finished with exit code 0

字典的合并

dict1.update(dict2) --》 将dict2合并到dict1

dict(dict1,**dict2) --》 将dict1和dict2合并成一个新的字典。

dict1 = {"a":1, "b":2}
dict2 = {"c":3, "d":4}
dict1.update(dict2)
print(dict1)
dict(dict1, **dict2)
print(dict1)E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
{'c': 3, 'd': 4}Process finished with exit code 0

字典的成员关系

默认判断的是key , 要想判断values只能用.values

>>> "a" in d5

True

>>> 2 in d5 --》in 默认判断的是 key 键的值

False

>>> 2 in d5.values() --》 如果要判断 value的值必须 用.values的值

True

字典的遍历

# 使用枚举的方法进行遍历
dict1 = {"a":1, "b":2, "c":3, "d":4, "e":5}
for i, j in enumerate(dict1):print(f"{i} --> {j}")
# 遍历key
for i in dict1:print(i)
# 遍历value值
for j in dict1.values():print(j)E:\python\python3.9.1\python.exe E:/tlbb/容器类型.py
0 --> a
1 --> b
2 --> c
3 --> d
4 --> e
a
b
c
d
e
1
2
3
4
5

集合 (set)

集合set()

# 无序

集合可以看成一个只有key的字典

集合的元素必须是可哈希的对象,天生去重

可变数据类型

>>> s1 = {1,2,3}
>>> type(s1)
<class 'set'>

将一个列表变为集合

>>> s2 = set([1,2,2,3,4,5,6])
>>> s2
{1, 2, 3, 4, 5, 6}
>>> 

集合转换函数 set()也是一个工厂转换函数

集合的添加

#add 添加一项

#update[] 添加多项,传入一个可迭代对象

>>> s2
{1, 2, 3, 4, 5, 6}
>>> s2.add(7)
>>> s2
{1, 2, 3, 4, 5, 6, 7}
>>> s2.update(["a","b"])
>>> s2
{1, 2, 3, 4, 5, 6, 7, 'a', 'b'}
>>> 

集合的删除

.remove()  直接指定元素进行删除

.discard()  直接指定元素进行删除

>>> s2
{1, 2, 3, 4, 5, 6, 7}>>> s2.remove(1)
>>> s2
{2, 3, 4, 5, 6, 7, 'a', 'b'}
>>> s2.discard(5)
>>> s2
{2, 3, 4, 6, 7, 'a', 'b'}
>>> 

交集,并集,差集,

>>> s1 = {1,2,3}
>>> s2 = {2,3,4}
>>> s3 = {2,3,4}
>>> s1&s2     --》交集
{2, 3}
>>> s1|s2       --》并集
{1, 2, 3, 4}
>>> s1 - s2    --》差集
{1}
>>> s1 ^ s2
{1, 4}

######序列里面的最大最小函数

>>> max([1,2,3,4,5,6])

6

>>> min([1,2,3,4,5,6])

1

python - 元组,字典,集合相关推荐

  1. Python元组字典集合

    元组&字典&集合 一.tuple元组 1.概述 和列表相似,本质上是一种有序的集合 元组和列表的不同之处: ​ a.列表:[ ] 元组:( ) ​ b.列表中的元素可以进行增加和删除操 ...

  2. python中列表 元组 字典 集合的区别

    参考文章:python中列表 元组 字典 集合的区别

  3. python列表元组字典集合实验心得_python学习小总结(列表、元组、字典、集合、字符串)...

    ---恢复内容开始--- 一.列表(list) 1.添加 append():追加,在列表末尾添加元素. 列表名.append(添加的元素) extend():扩展,在列表末尾添加元素. 列表名.ext ...

  4. Python学习第七课-元组字典集合

    Python学习第七课-元组&字典&集合 一.元组 1.1元组简介 1.2元组的拆包 1.3字符串拆包 1.4列表的拆包 1.5拆包练习 二.字典的简介 2.1介绍 2.2操作 三.字 ...

  5. 元组字典集合内置方法与拷贝

    ''' 元组字典集合内置方法与拷贝 ''' # 什么是元组tuple(了解):只可取 不可更改 的列表,元组一创建就被写死了 lt = [1, 2, 3] lt[0] = 2 # 1. 作用:元组一创 ...

  6. python_列表——元组——字典——集合

    列表--元组--字典--集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  7. python列表添加元素的三种方法定义集合数据对象_(1) List,tuple,dictionary,Python语法基础集,一,之,列表,元组,字典,集合...

    Python序列(列表.元组.字典.集合) 一.列表(List)与列表推导式 (一)列表(list) 1.列表是Python内置 可变序列 (列表中元素可增加删除或修改): 2.列表元素放在一对中括号 ...

  8. python元组字典例子_python集合、元组、字典

    目录 主要内容: 集合 元组 字典 小总结 主要内容: 2.集合 3.元组 4.字典 复习: 字符串和元组一样,只能读不能写.列表和字典可以嵌套任何东西,列表可以嵌套列表 L = list(" ...

  9. 02 Python元组 字典 数据类型 if while for 迭代

    元组 字典类型 数据类型与运算 集合的交集 if  while for自动迭代 将两个列表组合成字典 迭代器:列表解析 比for 更快的方法  对原数值进行选择利用 偏移 元素 元组 In [1]: ...

  10. Python 列表元组字典集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

最新文章

  1. 【数学专题】约数个数与欧拉函数
  2. 搞笑视频分析---2、爱做饭的芋头:手搓冰粉
  3. 函数计算自动化运维实战2 -- 事件触发 eip 自动转移
  4. 把学生类按单科成绩排序_重庆新高考几个核心点:分数线种类、96个志愿、投档排序规则...
  5. java.awt.Graphics2D 生成图片--个人章的方法
  6. 《Flask 入门教程》第 6 章:模板优化
  7. C#/Net代码精简优化技巧(1)
  8. C socket demo
  9. 数据库Sqlite3
  10. HDU odd-even number 数位dp
  11. 11月16日 个人战立会议内容报告
  12. 为什么都建议学java而不是python-就目前来说,学Java好还是学Python好?
  13. 记一次天猫商城系统高并发的优化
  14. ▲▲▲▲▲▲▲▲▲▲▲yum源的配置(本地和ftp)▲▲▲▲▲▲▲▲▲▲▲▲▲v...
  15. vue-cli搭建项目引入jquery和jquery-weui步骤详解
  16. [oracle] Instant Client 即时客户端
  17. 飞鸽快递系统代码_中通快递港股上市募资约96亿港元,董事长赖梅松认为股票代码2057寓意开启新征程...
  18. 对偶(duality)的含义
  19. Apache commons-exec的使用
  20. Java项目:医院管理系统(java+SSM+layui+maven+mysql)

热门文章

  1. QNX演示自动在CES 2016驱动模块-QNX自动驾驶
  2. Python模块之subprocess用法实例详解
  3. JAVA基础与高级学习笔记
  4. collapse 微信小程序_微信小程序之有赞组件Collapse折叠面板的使用
  5. 夺命雷公狗---javascript NO:20 面向对象历史起源
  6. 注册博客园时有关地址名的问题
  7. php上传图片代码编辑,simditor上传本地图片 php
  8. 趣谈网络协议第8讲——世界这么大,我想出网关:欧洲十国游与玄奘西行
  9. 【已解决】Vue3+Element-plus中input输入框中图标不显示
  10. layuiAdmin多重判断代码。