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

2023年 11月 2日 29.7k 0

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

一、列表(List)

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

1.创建列表

创建一个列表非常简单,只需要将元素放在方括号[]中,并用逗号,分隔即可。

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

2.访问列表元素

你可以通过索引来访问列表中的元素,索引是从0开始的。

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

3.修改列表元素

列表是可变的,你可以修改其元素的值。

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

4.添加和删除元素

你可以使用append()方法在列表末尾添加元素,使用insert()方法在指定位置插入元素,使用remove()方法删除指定值的元素,使用pop()方法删除指定位置的元素。

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

5.列表切片

你可以使用切片来获取列表的一部分,切片的语法是start:stop:step,其中start是切片开始的位置,stop是切片结束的位置(不包括),step是步长。

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

6.列表推导式

列表推导式是一种简洁的创建列表的方法。

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

二、字典(Dictionary)

字典是一种无序的键值对集合,每个键都映射到一个值,键必须是不可变的类型,如字符串、数字或元组。

1.创建字典

创建字典的语法是{key1: value1, key2: value2, ...}。

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

2.访问字典元素

你可以使用方括号[]和键来访问字典中的值。

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

3.修改和添加字典元素

你可以通过赋值的方式来修改或添加字典元素。

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

4.删除字典元素

你可以使用del语句或pop()方法来删除字典元素。

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

5.字典推导式

和列表推导式类似,字典也支持推导式。

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

三、集合(Set)

集合是一个无序且不重复的元素集合,你可以把它看作是没有值的字典。

1.创建集合

创建集合的语法是{element1, element2, ...},或者使用set()函数。

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

2.添加和删除元素

你可以使用add()方法添加元素,使用remove()方法删除元素。

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

3.集合运算

集合支持常见的数学集合运算,如并集、交集、差集等。

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

四、元组(Tuple)

元组是一个不可变的有序元素集合,一旦创建就不能修改。

1.创建元组

创建元组的语法是(element1, element2, ...),如果元组只有一个元素,后面必须加逗号,。

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

2.访问元组元素

你可以使用索引来访问元组中的元素。

print(t[0])  # 输出1

3.元组运算

元组支持加法和乘法运算。

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

五、区别

特性

字典 (Dictionary)

列表 (List)

集合 (Set)

元组 (Tuple)

定义

由键值对组成

有序的元素集合

无序的唯一元素集合

有序的元素集合

语法

{键1: 值1, 键2: 值2, ...}

[元素1, 元素2, ...]

{元素1, 元素2, ...}

(元素1, 元素2, ...)

可变性

可变

可变

可变

不可变

索引

通过键来访问值

通过位置索引来访问元素

不能通过索引访问

通过位置索引来访问元素

重复元素

键必须唯一,值可以重复

允许

不允许

允许

排序

Python 3.7+ 默认按插入顺序排序

默认按元素插入顺序排序

无序

默认按元素插入顺序排序

查找效率

高,使用哈希表

低,需要遍历

高,使用哈希表

低,需要遍历

可哈希性

键必须是可哈希的

不可哈希

元素必须是可哈希的

可哈希

方法

提供大量的方法,如get(), keys()

提供多种方法,如append(), pop()

提供集合运算等方法,如add(), remove()

方法较少,如count(), index()

注意:虽然元组是不可变的,但如果元组中包含了可变对象(如列表),那么这些可变对象是可以被修改的。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论