当前位置:首页 > 科技  > 软件

一文学会Python中四大数据类型:字典、列表、集合、元组

来源: 责编: 时间:2023-11-02 17:13:01 195观看
导读Python是一门简洁、易读、功能强大的编程语言,它拥有丰富的数据类型,其中字典、列表、集合、元组是最常用的几种数据结构,它们各有特点和用途,掌握它们对提升编程效率至关重要。一、列表(List)列表是Python中最基础的数据结

Python是一门简洁、易读、功能强大的编程语言,它拥有丰富的数据类型,其中字典、列表、集合、元组是最常用的几种数据结构,它们各有特点和用途,掌握它们对提升编程效率至关重要。ujE28资讯网——每日最新资讯28at.com

ujE28资讯网——每日最新资讯28at.com

ujE28资讯网——每日最新资讯28at.com

一、列表(List)

列表是Python中最基础的数据结构之一,它是一个有序的元素集合。你可以将它想象成一个容器,里面可以放置各种数据类型的元素,而且可以随时添加或删除元素。ujE28资讯网——每日最新资讯28at.com

1.创建列表

创建一个列表非常简单,只需要将元素放在方括号[]中,并用逗号,分隔即可。ujE28资讯网——每日最新资讯28at.com

fruits = ["苹果", "香蕉", "橙子"]  # 创建一个水果列表print(fruits)

2.访问列表元素

你可以通过索引来访问列表中的元素,索引是从0开始的。ujE28资讯网——每日最新资讯28at.com

print(fruits[0])  # 输出"苹果"

3.修改列表元素

列表是可变的,你可以修改其元素的值。ujE28资讯网——每日最新资讯28at.com

fruits[0] = "葡萄"  # 将"苹果"改为"葡萄"print(fruits)

4.添加和删除元素

你可以使用append()方法在列表末尾添加元素,使用insert()方法在指定位置插入元素,使用remove()方法删除指定值的元素,使用pop()方法删除指定位置的元素。ujE28资讯网——每日最新资讯28at.com

fruits.append("樱桃")  # 在列表末尾添加"樱桃"fruits.insert(1, "草莓")  # 在索引1的位置插入"草莓"fruits.remove("香蕉")  # 删除"香蕉"print(fruits.pop(2))  # 删除索引2的元素并返回该元素print(fruits)

5.列表切片

你可以使用切片来获取列表的一部分,切片的语法是start:stop:step,其中start是切片开始的位置,stop是切片结束的位置(不包括),step是步长。ujE28资讯网——每日最新资讯28at.com

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(numbers[1:8:2])  # 获取从索引1到索引7(不包括)的元素,步长为2

6.列表推导式

列表推导式是一种简洁的创建列表的方法。ujE28资讯网——每日最新资讯28at.com

squares = [x ** 2 for x in range(10)]  # 创建一个包含0到9的平方的列表print(squares)

二、字典(Dictionary)

字典是一种无序的键值对集合,每个键都映射到一个值,键必须是不可变的类型,如字符串、数字或元组。ujE28资讯网——每日最新资讯28at.com

1.创建字典

创建字典的语法是{key1: value1, key2: value2, ...}。ujE28资讯网——每日最新资讯28at.com

person = {"name": "张三", "age": 30, "city": "北京"}  # 创建一个包含个人信息的字典print(person)

2.访问字典元素

你可以使用方括号[]和键来访问字典中的值。ujE28资讯网——每日最新资讯28at.com

print(person["name"])  # 输出"张三"

3.修改和添加字典元素

你可以通过赋值的方式来修改或添加字典元素。ujE28资讯网——每日最新资讯28at.com

person["age"] = 31  # 修改年龄为31person["gender"] = "男"  # 添加性别信息print(person)

4.删除字典元素

你可以使用del语句或pop()方法来删除字典元素。ujE28资讯网——每日最新资讯28at.com

del person["city"]  # 删除城市信息print(person.pop("age"))  # 删除年龄信息并返回该值print(person)

5.字典推导式

和列表推导式类似,字典也支持推导式。ujE28资讯网——每日最新资讯28at.com

squares = {x: x ** 2 for x in range(10)}  # 创建一个键为0到9,值为键的平方的字典print(squares)

三、集合(Set)

集合是一个无序且不重复的元素集合,你可以把它看作是没有值的字典。ujE28资讯网——每日最新资讯28at.com

1.创建集合

创建集合的语法是{element1, element2, ...},或者使用set()函数。ujE28资讯网——每日最新资讯28at.com

fruits = {"苹果", "香蕉", "橙子"}  # 创建一个水果集合print(fruits)numbers = set([0, 1, 2, 3, 4, 5])  # 使用列表创建一个数字集合print(numbers)

2.添加和删除元素

你可以使用add()方法添加元素,使用remove()方法删除元素。ujE28资讯网——每日最新资讯28at.com

fruits.add("葡萄")  # 添加"葡萄"fruits.remove("香蕉")  # 删除"香蕉"print(fruits)

3.集合运算

集合支持常见的数学集合运算,如并集、交集、差集等。ujE28资讯网——每日最新资讯28at.com

a = {1, 2, 3, 4}b = {3, 4, 5, 6}print(a | b)  # 并集print(a & b)  # 交集print(a - b)  # 差集

四、元组(Tuple)

元组是一个不可变的有序元素集合,一旦创建就不能修改。ujE28资讯网——每日最新资讯28at.com

1.创建元组

创建元组的语法是(element1, element2, ...),如果元组只有一个元素,后面必须加逗号,。ujE28资讯网——每日最新资讯28at.com

t = (1, 2, 3)  # 创建一个包含1, 2, 3的元组print(t)single = (1,)  # 创建一个只包含1的元组print(single)

2.访问元组元素

你可以使用索引来访问元组中的元素。ujE28资讯网——每日最新资讯28at.com

print(t[0])  # 输出1

3.元组运算

元组支持加法和乘法运算。ujE28资讯网——每日最新资讯28at.com

t1 = (1, 2, 3)t2 = (4, 5, 6)print(t1 + t2)  # 连接两个元组print(t1 * 3)  # 重复三次

五、区别

特性ujE28资讯网——每日最新资讯28at.com

字典 (Dictionary)ujE28资讯网——每日最新资讯28at.com

列表 (List)ujE28资讯网——每日最新资讯28at.com

集合 (Set)ujE28资讯网——每日最新资讯28at.com

元组 (Tuple)ujE28资讯网——每日最新资讯28at.com

定义ujE28资讯网——每日最新资讯28at.com

由键值对组成ujE28资讯网——每日最新资讯28at.com

有序的元素集合ujE28资讯网——每日最新资讯28at.com

无序的唯一元素集合ujE28资讯网——每日最新资讯28at.com

有序的元素集合ujE28资讯网——每日最新资讯28at.com

语法ujE28资讯网——每日最新资讯28at.com

{键1: 值1, 键2: 值2, ...}ujE28资讯网——每日最新资讯28at.com

[元素1, 元素2, ...]ujE28资讯网——每日最新资讯28at.com

{元素1, 元素2, ...}ujE28资讯网——每日最新资讯28at.com

(元素1, 元素2, ...)ujE28资讯网——每日最新资讯28at.com

可变性ujE28资讯网——每日最新资讯28at.com

可变ujE28资讯网——每日最新资讯28at.com

可变ujE28资讯网——每日最新资讯28at.com

可变ujE28资讯网——每日最新资讯28at.com

不可变ujE28资讯网——每日最新资讯28at.com

索引ujE28资讯网——每日最新资讯28at.com

通过键来访问值ujE28资讯网——每日最新资讯28at.com

通过位置索引来访问元素ujE28资讯网——每日最新资讯28at.com

不能通过索引访问ujE28资讯网——每日最新资讯28at.com

通过位置索引来访问元素ujE28资讯网——每日最新资讯28at.com

重复元素ujE28资讯网——每日最新资讯28at.com

键必须唯一,值可以重复ujE28资讯网——每日最新资讯28at.com

允许ujE28资讯网——每日最新资讯28at.com

不允许ujE28资讯网——每日最新资讯28at.com

允许ujE28资讯网——每日最新资讯28at.com

排序ujE28资讯网——每日最新资讯28at.com

Python 3.7+ 默认按插入顺序排序ujE28资讯网——每日最新资讯28at.com

默认按元素插入顺序排序ujE28资讯网——每日最新资讯28at.com

无序ujE28资讯网——每日最新资讯28at.com

默认按元素插入顺序排序ujE28资讯网——每日最新资讯28at.com

查找效率ujE28资讯网——每日最新资讯28at.com

高,使用哈希表ujE28资讯网——每日最新资讯28at.com

低,需要遍历ujE28资讯网——每日最新资讯28at.com

高,使用哈希表ujE28资讯网——每日最新资讯28at.com

低,需要遍历ujE28资讯网——每日最新资讯28at.com

可哈希性ujE28资讯网——每日最新资讯28at.com

键必须是可哈希的ujE28资讯网——每日最新资讯28at.com

不可哈希ujE28资讯网——每日最新资讯28at.com

元素必须是可哈希的ujE28资讯网——每日最新资讯28at.com

可哈希ujE28资讯网——每日最新资讯28at.com

方法ujE28资讯网——每日最新资讯28at.com

提供大量的方法,如get(), keys()ujE28资讯网——每日最新资讯28at.com

提供多种方法,如append(), pop()ujE28资讯网——每日最新资讯28at.com

提供集合运算等方法,如add(), remove()ujE28资讯网——每日最新资讯28at.com

方法较少,如count(), index()ujE28资讯网——每日最新资讯28at.com

注意:虽然元组是不可变的,但如果元组中包含了可变对象(如列表),那么这些可变对象是可以被修改的。ujE28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-16620-0.html一文学会Python中四大数据类型:字典、列表、集合、元组

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 每个程序员都应该知道的六种负载均衡算法

下一篇: VS Code 是最佳的开发 Flutter 的 IDE 吗?

标签:
  • 热门焦点
  • 直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    旗舰机基本上使用的都是双曲面屏幕,这就让很多喜欢直屏的爱好者在苦等一款直屏旗舰,这次,你们等到了。据博主数码闲聊站带来的最新爆料称,Redmi下代旗舰K70 Pro和iQOO 12两款手
  • 把LangChain跑起来的三个方法

    把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 一篇聊聊Go错误封装机制

    一篇聊聊Go错误封装机制

    %w 是用于错误包装(Error Wrapping)的格式化动词。它是用于 fmt.Errorf 和 fmt.Sprintf 函数中的一个特殊格式化动词,用于将一个错误(或其他可打印的值)包装在一个新的错误中。使
  • Flowable工作流引擎的科普与实践

    Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • 之家push系统迭代之路

    之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • 雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    来源 | 烈酒商业观察编 | 肖海林今年以来,威士忌市场开始出现了降温迹象,越来越多不断暴涨的网红威士忌也开始悄然回归市场理性。近日,LVMH集团旗下苏格兰威士忌品牌雅柏(Ardbeg
  • 品牌洞察丨服务本地,美团直播成效几何?

    品牌洞察丨服务本地,美团直播成效几何?

    来源:17PR7月11日,美团App首页推荐位出现“美团直播”的固定入口。在直播聚合页面,外卖“神枪手”直播间、美团旅行直播间、美团买菜直播间等均已上线,同时
  • 三星Galaxy Z Fold/Flip 5国行售价曝光 :最低7499元/12999元起

    三星Galaxy Z Fold/Flip 5国行售价曝光 :最低7499元/12999元起

    据官方此前宣布,三星将于7月26日也就是明天在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
Top