标题: Python中的容器类型简介
🌞欢迎来到python的世界
💌欢迎关注🎉点赞👍收藏⭐️留言📝
🌠本阶段属于练气阶段,希望各位朋友顺利完成突破
✉️希望可以和大家一起完成进阶之路!
一、概述
在Python中,"容器"是指可以存储多个元素的数据结构。包括列表、元组、字典、集合和字符。作为python学习的基础,到底重点在哪里呢?我们应该如何学习?
我总结了几个学习思路:
1.划分可变和不可变:可变类型我们从增删改查的思路进行研究,不可变类型我们从查的思路进行研究
2.遍历容器类型:具体看下面看每个容器类型最下举例说明
3.容器类型的嵌套:在整个文章的最后进行介绍
4.容器类型自身的Api 和公共的Api:这个具体直接看下面的代码介绍
可变的容器有:列表,字典,集合
不可变的容器:有元组,字符串,虽然不可改变,可以通过做和思想得到新的元组或者字符串
解释:
str1 = 'adc'
str2 = 'cdb'
str1 = str2 + str1
print(str1) # 输出结果:cdbadc
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 7)
tuple1 = tuple2 + tuple1 # 输出结果:(4, 5, 7, 1, 2, 3)
print(tuple1)
二、列表(List)
-
定义: 列表是Python中的一个可变容器,可以有序地存储多个元素。
-
示例:
my_list = [1, 2, 3, 4, 5]
-
特点: 可变、有序,可通过索引访问元素。
-
举例说明:
-
""" 1. 因为列表是可变类型的容器我们从从增删改查的角度去研究 2.这里我都没有进行print(),因为前后会受影响,具体想看运行结果,建议copy到pycharm 运行的时候把其他的注释掉或者可以前后都加print()对比前后之执行结果 """ my_list = [1, 2, 3, 4, 5] # 增 my_list.append(6) # 增加一个元素 my_list.extend(my_list) # 增加一个容器类型的数据,可以是元组,列表,集合,如果是字典增加的是键值 my_list.insert(2, 5) # 在对应的索引为2增加一个元素'5' # 删 my_list.pop(1) # 根据索引进行删除 my_list.remove(2) # 根据元素进行删除 my_list.clear() # 清楚列表中的所有元素 del my_list # 从内存中删除整个列表,列表对象也不存在了 # 改 my_list.sort() # 给了列表进行升序排序 my_list.reverse() # 是列表进行反转,升序变降序,降序变升序 my_list[0] = '4' # 根据修改了索引0 的值为字符串'4' # 查 A = my_list.index(5) # 查元素'5'在列表中在索引位置,返回的是索引 B = my_list.count(5) # 查看元素'5'在列中中有几个 print(A) print(B)
三、字典(Dictionary)
-
定义: 字典是一个无序的键值对集合,通过键来访问对应的值。
-
示例:
my_dict = {'a': 1, 'b': 2, 'c': 3}
-
特点: 无序、键值对存储,通过键访问值。
-
举例说明
""" 1. 因为字典也是可变类型的容器我们从从增删改查的角度去研究 2.这里我都没有进行print(),因为前后会受影响,具体想看运行结果,建议copy到pycharm 运行的时候把其他的注释掉或者可以前后都加print()对比前后之执行结果 """ my_dict = {'a': 1, 'b': 2, 'c': 3} # 增 my_dict['d'] = 9 # 注意对于字典来说如果键值不存在,就创建,存在就是修改,参考下面的"查" print(my_dict) # 删 my_dict.pop('a') # 根据键进行删除 my_dict.clear() # 清除字典里的所有数据,但是字典对象不会删除,对象地址任然在内存中保存 # del my_dict # 从内存中彻底删除 # 改 my_dict['d'] = 6 # 注意对于字典来说如果键值不存在,就创建,存在就是修改,参考上面的'改' print(my_dict) # 查 A = my_dict.items() # 返回列表套元组的数据,但不是真正的列表 dict_items([('a', 1), ('b', 2), ('c', 3)]) B = my_dict.values() # 返回全是键值的列表,但不是真正的列表 dict_values([1, 2, 3]) C = my_dict.keys() # 返回全是键名的列表,但不是真正的列表 dict_keys(['a', 'b', 'c']) print(A) print(B) print(C)
四、元组(Tuple)
-
定义: 元组与列表类似,但它是不可变的,一旦创建不能修改。
-
示例:
my_tuple = (1, 2, 3, 4, 5)
-
特点: 不可变、有序,可通过索引访问元素。
-
举例说明:
-
""" 1. 因为元组是不可变类型的容器我们从查 2.我们可以把元组看成不可变的列表去理解即可 """ my_tuple = (1, 2, 3, 4, 5) # 查 A = my_tuple.index(5) # 查元素'5'在元组中在索引位置,返回的是索引 B = my_tuple.count(5) # 查看元素'5'在元组中有几个,返回的的个数 C = len(my_tuple) # 查看元组的长度,有几个元素就返回机 print(A) # 打印结果:4 print(B) # 打印结果:1 print(C) # 打印结果:5
五、集合(Set)
-
定义: 集合是一个无序的、元素不重复的集合。
-
示例:
my_set = {1, 2, 3, 4, 5}
-
特点: 无序、元素不重复。
-
举例说明:
-
""" 1. 因为集合是可变类型,可以进行增删改查,但是我们实际开发中很少去用,一般我们应用集合的不可重复性,进行对列表的去重工作 2.对于集合是无序的 """ my_set = {1, 2, 3, 4, 5} # 增 my_set.add(7) # 在集合随机位置增加元素"7" print(my_set) # 删 my_set.pop() print(my_set) # my_set.clear() # my_set.remove(5) # 查 (对于元组是无序的就没与办法通过索引进行查找) len(my_set) max(my_set) min(my_set) # 重点--重点--重点(重要的事情说三遍,对于集合来说我们应用最多的场景就是给列表去重) list2 = [1, 2, 4, 5, 5, 5, 5, 6, 7, 8] set1 = set(list2) print(set1) # 打印结果:{1, 2, 4, 5, 6, 7, 8} list2 = list(set1) print(list2)
六、字符串(String)
-
定义: 字符串主要用于表示文本,也可以看作字符的容器,但在Python中字符串是不可变的。
-
示例:
my_string = "Hello, World!"
-
特点: 不可变、有序。
-
举例说明:
-
""" 1. 因为字符产是不可变类型的容器我们从查 2.对于字符串来说,有几个比较特殊api ,可以对字符串进行操作生成新的字符串,但是字符串本身不会改变 """ my_string = "Hello, World!" # 查 print(my_string.index('o')) # 查字符串中子串第一次出现的位置 ---注意查不到就报错 print(my_string.rindex('o')) # 查字符串中子串最后一次出现的位置 ---注意查不到就报错 print(my_string.find('o')) # 查字符串中子串第一次出现的位置 ---注意查不到 返回-1 print(my_string.rfind('o')) # 查字符串中子串最后一次出现的位置 ---注意查不到 返回-1 # 生成新的字符串 print(my_string.split('o')) # 打印结果为: ['Hell', ', W', 'rld!'] 切片生成一个新的列表 print(my_string.replace('o', 'O', 2)) # 结果为:HellO, WOrld! 生成新的字符串打印 print(my_string) # 打印结果:Hello, World!,,,,打印原来的字符串的原因是,告诉对于以上两步,是生成新的列表或字符串,对原来的字符串没有影响
七、公共的api
- 举例说明:
"""
1.对于公共的api 分为运算符 和函数
运算符: "*", "+", "in", "not in"
函数: max() , min() , range(), len()
下面就以 列表,其他容量类型类似
"""
list_data = ["apple", "banana", "orange"]
list_data2 = ["apple1", "banana1", "orange1"]
print(list_data * 2) # 打印结果:['apple', 'banana', 'orange', 'apple', 'banana', 'orange']
print(list_data + list_data2) # 打印结果:['apple', 'banana', 'orange', 'apple1', 'banana1', 'orange1']
print('apple' in list_data2) # 打印结果:False
print('apple_1' not in list_data2) # 打印结果:True
print(max(list_data)) # 打印结果:orange
print(min(list_data)) # 打印结果:apple
for i in list_data: # # 遍历列表
print(i) # 打印结果:apple banana orange
for i in range(3):
print(list_data[i]) # 打印结果:apple banana orange
八、总结
本文介绍了Python中的几种主要容器类型,包括列表、元组、字典、集合和字符串。这些容器类型在Python编程中非常常用,掌握它们的使用对于提高编程效率和数据处理能力非常重要。