Python是一门简洁、易读、功能强大的编程语言,它拥有丰富的数据类型,其中字典、列表、集合、元组是最常用的几种数据结构,它们各有特点和用途,掌握它们对提升编程效率至关重要。
一、列表(List)
列表是Python中最基础的数据结构之一,它是一个有序的元素集合。你可以将它想象成一个容器,里面可以放置各种数据类型的元素,而且可以随时添加或删除元素。
创建列表
创建一个列表非常简单,只需要将元素放在方括号[]中,并用逗号,分隔即可。
fruits = ["苹果", "香蕉", "橙子"] # 创建一个水果列表 print(fruits)
访问列表元素
你可以通过索引来访问列表中的元素,索引是从0开始的。
print(fruits[0]) # 输出"苹果"
修改列表元素
列表是可变的,你可以修改其元素的值。
fruits[0] = "葡萄" # 将"苹果"改为"葡萄" print(fruits)
添加和删除元素
你可以使用append()方法在列表末尾添加元素,使用insert()方法在指定位置插入元素,使用remove()方法删除指定值的元素,使用pop()方法删除指定位置的元素。
fruits.append("樱桃") # 在列表末尾添加"樱桃" fruits.insert(1, "草莓") # 在索引1的位置插入"草莓" fruits.remove("香蕉") # 删除"香蕉" print(fruits.pop(2)) # 删除索引2的元素并返回该元素 print(fruits)
列表切片
你可以使用切片来获取列表的一部分,切片的语法是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
列表推导式
列表推导式是一种简洁的创建列表的方法。
squares = [x ** 2 for x in range(10)] # 创建一个包含0到9的平方的列表 print(squares)
二、字典(Dictionary)
字典是一种无序的键值对集合,每个键都映射到一个值,键必须是不可变的类型,如字符串、数字或元组。
创建字典
创建字典的语法是{key1: value1, key2: value2, …}。
person = {"name": "张三", "age": 30, "city": "北京"} # 创建一个包含个人信息的字典 print(person)
访问字典元素
你可以使用方括号[]和键来访问字典中的值。
print(person["name"]) # 输出"张三"
修改和添加字典元素
你可以通过赋值的方式来修改或添加字典元素。
person["age"] = 31 # 修改年龄为31 person["gender"] = "男" # 添加性别信息 print(person)
删除字典元素
你可以使用del语句或pop()方法来删除字典元素。
del person["city"] # 删除城市信息 print(person.pop("age")) # 删除年龄信息并返回该值 print(person)
字典推导式
和列表推导式类似,字典也支持推导式。
squares = {x: x ** 2 for x in range(10)} # 创建一个键为0到9,值为键的平方的字典 print(squares)
三、集合(Set)
集合是一个无序且不重复的元素集合,你可以把它看作是没有值的字典。
创建集合
创建集合的语法是{element1, element2, …},或者使用set()函数。
fruits = {"苹果", "香蕉", "橙子"} # 创建一个水果集合 print(fruits) numbers = set([0, 1, 2, 3, 4, 5]) # 使用列表创建一个数字集合 print(numbers)
添加和删除元素
你可以使用add()方法添加元素,使用remove()方法删除元素。
fruits.add("葡萄") # 添加"葡萄" fruits.remove("香蕉") # 删除"香蕉" print(fruits)
集合运算
集合支持常见的数学集合运算,如并集、交集、差集等。
a = {1, 2, 3, 4} b = {3, 4, 5, 6} print(a | b) # 并集 print(a & b) # 交集 print(a - b) # 差集
四、元组(Tuple)
元组是一个不可变的有序元素集合,一旦创建就不能修改。
创建元组
创建元组的语法是(element1, element2, …),如果元组只有一个元素,后面必须加逗号,。
t = (1, 2, 3) # 创建一个包含1, 2, 3的元组 print(t) single = (1,) # 创建一个只包含1的元组 print(single)
访问元组元素
你可以使用索引来访问元组中的元素。
print(t[0]) # 输出1
元组运算
元组支持加法和乘法运算。
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() |
注意:虽然元组是不可变的,但如果元组中包含了可变对象(如列表),那么这些可变对象是可以被修改的。
结语
通过本文的介绍,你应该对Python中的字典、列表、集合、元组有了更深入的了解。这四种数据结构是Python编程中最基础也是最常用的,掌握它们将大大提升你的编程效率。当然,为了更加熟练地运用这些数据结构,你还需要在实际编程中多加练习。希望本文能对你学习Python有所帮助!
学习资源推荐
除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。
这里给大家展示一下我进的兼职群和最近接单的截图
😝朋友们如果有需要的话,可以点击下方链接领取或者V扫描下方二维码联系领取,也可以内推兼职群哦~
🎁 CSDN大礼包,二维码失效时,点击这里领取👉:【学习资料合集&相关工具&PyCharm永久使用版获取方式】
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
1.Python学习路线
2.Python基础学习
01.开发工具
02.学习笔记
03.学习视频
3.Python小白必备手册
4.数据分析全套资源
5.Python面试集锦
01.面试资料
02.简历模板
🎁 CSDN大礼包,二维码失效时,点击这里领取👉:【学习资料合集&相关工具&PyCharm永久使用版获取方式】