首页 > 编程语言 >Python3 元组、列表、字典、集合小结

Python3 元组、列表、字典、集合小结

时间:2024-06-07 17:03:54浏览次数:26  
标签:tuple 小结 list 元组 dict print my Python3

前言

本文主要对Python中的元组、列表、字典、集合进行小结,主要内容包括知识点回顾、异同点、使用场景。

文章目录

一、知识点回顾

Python 中的元组、列表、字典、集合都是用来存储多个数据元素的容器类型。

1、列表(List)

列表是可变的,可以通过索引访问和修改元素,以逗号分隔值用方括号 [] 括起来实现。列表中的元素可以是不同数据类型的,可以通过追加、插入、删除等操作进行修改。常见的操作如下:

my_list = [1, 'hello', True]

my_list[0] = 2 #索引修改
my_list.append('world')   #追加
my_list.insert(1, 'goodbye')   #在制定位置之前插入
my_list.remove('hello')   #删除制定值的元素,也可以是指定下标
print(my_list)

输出结果:

[2, 'goodbye', True, 'world']

2、 元组(Tuple)

元组是不可变的,可以通过索引访问元素,其值用逗号分隔值用小括号 () 实现。元组元素不能更改,因此在创建后不能添加、删除或修改。常见的操作如下:

my_tuple = (1, 'hello', True)

print(my_tuple[1])   #索引
print(my_tuple[0:2])   #切片

输出结果:

hello
(1, 'hello')

3、 字典(Dictionary)

字典是一个使用键-值对存储的可变数据类型,用大括号 {} 括起来,键值对之间用冒号 : 分隔,键值对之间用逗号分隔。常见的操作如下:

my_dict = {'a': 1, 'b': 2, 'c': 3}

print(my_dict['b'])   #通过键来访问值
my_dict['a'] = 9    #通过键来修改值
print(my_dict)

输出结果:

2
{'a': 9, 'b': 2, 'c': 3}

4.、集合(Set)

集合是用于保存一组唯一元素的容器类型,用大括号 {} 或 set() 构造,不支持索引操作。集合中的元素不重复,可以进行交、并、差等集合操作。常见的操作如下:

my_set1 = {1, 2, 3}
my_set2 = {3, 4, 5}

print(my_set1 & my_set2)   #求交集
print(my_set1 | my_set2)   #求并集
print(my_set1 - my_set2)   #求差集
print(my_set1 ^ my_set2)   #求对称差集

输出结果:

{3}
{1, 2, 3, 4, 5}
{1, 2}
{1, 2, 4, 5}

二、异同点

1、异构性

元组、列表、字典都可以包含不同类型的元素,比如整数、浮点数、字符串等。集合要求元素类型必须是不可变的,否则会引发 TypeError 错误,如:

my_list = [1, 1.5, 'hello', (1, 2, 3), [4, 5, 6]]
my_tuple = (1, 1.5, 'hello', (1, 2, 3), [4, 5, 6])
my_dict = {'a': 1, 'b': 1.5, 'c': 'hello','d':(1, 2, 3),'e':[4, 5, 6]}  
my_set = {1, 1.5, 'hello', (1, 2, 3), frozenset([4, 5, 6]) }
# my_set = {1, 1.5, 'hello', (1, 2, 3), [4, 5, 6] }   #会报错,必须要用frozenset()函数将数据类型转换为不可变数据类型

print(my_list)
print(my_tuple)
print(my_dict)
print(my_set)

输出结果:

[1, 1.5, 'hello', (1, 2, 3), [4, 5, 6]]
(1, 1.5, 'hello', (1, 2, 3), [4, 5, 6])
{'a': 1, 'b': 1.5, 'c': 'hello', 'd': (1, 2, 3), 'e': [4, 5, 6]}
{1, 1.5, (1, 2, 3), 'hello', frozenset({4, 5, 6})}

集合内部使用哈希表来实现,每一个不同的数据元素都有一个唯一的哈希值,通过哈希值来对集合元素进行快速的查找和操作。由于哈希表的实现方式是通过键(key)来实现的,因此要求集合中的元素必须是可散列的,即每个元素必须有一个唯一的哈希值,否则将会引发 TypeError 错误。

2、可变性

可变性是指容器中的元素是否可以被修改,比如增加、修改、删除等。元组是不可变数据类型,列表、字典、集合都是可变数据类型,如:

my_list = [1, 2, 3]
my_tuple = (1, 2, 3)
my_dict = {'a': 1, 'b': 2, 'c': 2}
my_set = {1, 2, 3 }

my_list.append(4)
my_dict['d'] = 4
my_set.add(4)
#my_tuple 元组中的数据是不可变的

print(my_list)
print(my_dict)
print(my_set)

输出结果:

[1, 2, 3, 4]
{'a': 1, 'b': 2, 'c': 2, 'd': 4}
{1, 2, 3, 4}

3、有序性

元组、列表都是有序的,可以通过索引下标来访问元素,字典在python3.7版本以上的输出顺序通常是稳定,但是我们不能认为它是有序的,它不可以通过下标来索引,但是可以通过键来访问或修改,集合是无序的数据类型,不支持索引,如:

my_list = [1, 2, 3]
my_tuple = (1, 2, 3)
my_dict = {'a': 1, 'b': 2, 'c': 2}
my_set = {1, 2, 3 }

print(my_list[1])
print(my_tuple[1])
print(my_dict['b'])
#print(my_set[1])   #会引发 TypeError 错误

输出结果:

2
2
2

4、可迭代性

元组、列表、字典、集合都是支持遍历的。

my_list = [1, 2, 3]
my_tuple = (1, 2, 3)
my_dict = {'a': 1, 'b': 2, 'c': 2}
my_set = {1, 2, 3 }

print('my_list遍历输出:', end='')
for i in my_list:
print(i ,' ' , end='')
print()

print('my_tuple遍历输出:', end='')
for i in my_tuple:
print(i ,' ' , end='')
print()

print('my_dict遍历输出:', end='')
for i in my_tuple:
print(i ,' ' , end='')
print()

print('my_set遍历输出:', end='')
for i in my_tuple:
print(i ,' ' , end='')
print()

输出结果:

my_list遍历输出:1  2  3  
my_tuple遍历输出:1  2  3  
my_dict遍历输出:1  2  3  
my_set遍历输出:1  2  3  

三、使用场景

1、列表(List)

列表是可变、异构、有序的多元素类型容器,列表在Python中使用非常广泛,常见的使用场景包括:
1)存储有序序列数据,如待处理的任务列表、音乐播放列表等;
2) 作为其他数据结构的底层实现,如队列、堆栈等;
3)存储一组同类型的数据,如学生的成绩列表、历史行情数据列表等。

2、元组(Tuple)

元组是不可变的,因此常见的场景包括:
1)存储一组常量数据或常量配置项;
2) 作为字典的键;
3)作为函数的参数和返回值。

3、字典(Dictionary)

字典是可变、异构的多元素类型容器,字典在Python中也是非常常用的数据结构,常见的使用场景包括:
1) 存储关联关系数据,如学生的成绩记录、词典等;
2)存储对象的属性和属性值,如JSON、YAML等数据格式;
3)作为配置文件的存储格式。

4、集合(Set)

集合是用于存储一组唯一元素的数据结构,因此常见的使用场景包括:
1)去除重复元素,如活动报名时的重复报名检查;
2)求两个列表或数据之间的交、并、差等操作;
3)存储不重复的数据,如爬虫任务队列中URL的去重等。

标签:tuple,小结,list,元组,dict,print,my,Python3
From: https://blog.csdn.net/weixin_41241810/article/details/139332554

相关文章

  • python 函数 形参前带*或者两个星** 收集元组或者字典,实参前带星*或者两个星** 解开序
    函数的形参前面带一个星*,代表着不定长参数,实际上是收集了不定长的实参,作为一个元组。形参前面带两个星**,代表可以接收不定长参数,并且调用该函数时实参要指定参数名,实际上是收集了一个不定键个数的字典。实参前带一个星*,表示解开当前的序列,再做为参数传递。实参前带两个星**,表示......
  • python3环境安装
    安装python3.6(更高版本对openssl版本有要求centos7可能build失败)curl-q#https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz-oPython-3.6.9.tar.xztarxfPython-3.6.9.tar.xzcdPython-3.6.9/./configure--prefix=/opt/python3.6make-j4&&makeinst......
  • 元组的使用
    元组不能增删改tuple元组函数t=(1,2,3,4)#()括号定义tt=tuple([1,2,3,4])#tuple函数定义print(t,tt)遍历元组foriint:print(i)遍历元组下标foriinrange(len(t)):print(i)元组拼接,id地址改变t=(1,2,3,4)tt=t+(5,)print(tt)元组删除,del删除t=(1,2,......
  • Python3基本语法(新)
    目录基本语法输出print()格式化输出标识符import关键字保留字(关键字)注释多行注释1、单引号(''')2、双引号(""")缩进空行同一行显示多条语句等待用户输入inputimport与from...import基本语法输出print()print()是一个让计算机在屏幕上进行输出的'指令'.它分为四个部分1.prin......
  • 配置Tensorflow使用GPU加速(Tensorflow2.6.0,Python3.6-3.9,CUDA11.2,cuDNN8.1)
    目录前言一、安装Anaconda1.1从Anaconda官网下载Anaconda(默认安装最新版本)1.2安装Anaconda并配置环境变量二、安装CUDA和cuDNN2.1下载CUDAToolkit2.2安装CUDAToolkit2.3下载安装cuDNN2.4配置CUDA环境变量三、创建Anaconda虚拟环境并安装Tensorflow3.1创建......
  • 22240定级指南小结
    信息安全技术,网络安全等级保护定级指南一、基本概念和定级要素等级的含义:角度:从重要性等级的角度进行定级。1.对国家安全、经济建设、公共利益等方面的重要性。2.被破坏后造成的严重程度。概念解释:1.等级保护对象:网路安全等级保护工作的作用对象,主要包括通信网络设施......
  • TS 小技巧: 使用元组生成联合类型
    前言在我们使用TypeScript开发业务的时候,也许你会遇到一个这样的问题:我们如何根据一个数组的值得到一个联合类型?这里向大家介绍一个开发小技巧:使用元组生成联合类型开发场景我们看下面一段ts代码:constcolors=['red','green','orange','blue'];//这里ts解析......
  • 进程间通信函数接口及应用模板小结
    进程间通信方式1.无名管道/有名管道2.信号3.共享队列(systemV-IPC)4.共享内存(systemV-IPC)5.信号量(systemV-IPC)6.套接字无名管道特征1.文件没有名字,无法使用open2.只能用于亲缘进程间3.半双工工作方式:读写端分开4.写入操作不具有原子性,会被打断,因此只能用于一对一的简......
  • python3 源码阅读-虚拟机运行原理
    原文阅读源码版本python3.8.3参考书籍<<Python源码剖析>>参考书籍<<Python学习手册第4版>>官网文档目录介绍Doc目录主要是官方文档的说明。Include:目录主要包括了Python的运行的头文件。Lib:目录主要包括了用Python实现的标准库。Modules:该目录中包含了所有用C......
  • Python3 笔记:extend()、append() 和 +号 的区别
    1、extend()可以向一个列表中添加另外一个列表中的所有元素。list1=[1,2,3,4]list2=[3,4,5,6]list1.extend(list2)print(list1) #运行结果:[1,2,3,4,3,4,5,6]print(list2) #运行结果:[3,4,5,6]2、append()用于向列表末尾添加元素。list1=[1,2,3,4]li......