Python之旅:内置数据结构

本文详细介绍了Python的四种主要内置数据结构:列表、元组、集合和字典。列表是可变的,允许添加、删除和搜索元素;元组与列表类似但不可变;集合是无序且元素唯一的序列;字典是无序的键值对集合。文章还讨论了这些数据结构的创建、操作和转换方法,以及结构间的嵌套使用。
摘要由CSDN通过智能技术生成

Python中的内置结构分为列表,元组,集合,字典等等,今天来给大家讲一讲我自己的理解。

一:列表

列表一般是用来存储一组有序数据元素的数据结构, 元素之间用逗号分隔。 列表中的数据元素应该包括在方括号中, 列表是可变的数据类型, 一旦创建了一个列表, 可以添加、 删除或者搜索列表中的元素。

列表中的元素不必是相同的类型。如果只有一对方括号而没有任何元素则表示空列表

比如:[],[10,20,30,40],['a',"b","c","d"]

“=”可以直接将创建的列表赋给变量:

age_list = [1, 2, 3, 10]
name_list = ['Jack', 'Tom', 'Rock']
print(age_list)
print(name_list)

 用type查看列表的类型:

print(type(age_list))

列表页可以像字符串一样与一个数字相乘,可以实现复制功能

new_name_list =name_list * 3
print(new_name_list)

列表获取指定位置的元素利用的方法和字符串索引是一致的, 主要有普通索引和切片索引两种

普通索引:
普通索引是获取某一特定位置的元素

animal_list = ['Dog', 'Cat', 'Fish', 'Duck']
print(animal_list[0])
print(animal_list[-1])

切片索引:

切片索引是获取某一位置区间的元素

print(animal_list[1:3])

字符串无法通过制定位置修改该位置的内容,而列表可以:

num_list = [1, 2, 3, 4, 5, 6]
other_list = [1, 2, 3, 4, 5, 6]
num_list[0] = 100other_list[2:] = [300, 400, 500, 600]
print(num_list)
print(other_list)
列表常用函数
序号函数名函数说明
1append()在列表尾部追加新的元素
2count()统计元素在列表中出现的次数
3extend()在列表末尾一次性追加另一个序列中的多个值
4insert()将对象插入列表中
5pop()移除列表中的一个元素,并返回该元素的值
6reverse()对列表中的元素反向存储 
7sort()对列表进行排序
8index()在列表中找出某个值第一次出现的位置
9remove()用于移除列表中某个值的第一个匹配项
10len()返回列表元素个数
11max()返回列表元素中的最大值
12min()返回列表元素中的最小值

元组

元组是序列数据结构的另一个重要类型,元组与列表非常类似,唯一的不同是元组一经定义,其内容就不能修改。从形式上,元组的所有元素放在一对括号中,元素之间使用逗号分隔,如果元组中只有一个元素则必须在最后增加一个逗号

元组的创建非常简单,可以直接用逗号分隔来创建一个元组:

tuple1 = (1,2,3)
tuple2 = (10,)#这是只有一个元素的元组
tuple3 = ('Tom', 'Jack', 'Rose')
print(tuple1)
print(tuple2)
print(tuple3)

元组内元素的获取方法主要是普通索引和切片索引

普通索引:

print(tuple1[0])
print(tuple1[-1])

切片索引:

tuple4 = (10,20,30,40,50)
print(tuple4[2:])

元组是不能改变的和字符串一样

集合

集合(set)属于Python数据结构中的无序可变序列,使用一对大括号作为定界符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。集合中只能包含数字、字符串、元组等不可变类型的数据,而不能包含列表、字典、集合等可变类型的数据。

当集合中有True、False、1、0时谨慎处理!

创建集合:

num_set = {1,2,3,4,5,1,5,6}
print(num_set

可以为字典添加元素:

num_set.add(100)

集合是无序的,因为集合没有顺序,因此不能使用索引访问元素。另外也不能通过索引删除元素

pop函数会随机删除并返回集合中的一个元素:

element =num_set.pop()
print(element)
print(num_set)

 remove()函数则是通过指定元素删除集合中的该元素,如果指定元素不存在则会报错:

num_set4 = {1,2,3,4,5,6}
num_set4.remove(4)
print(num_set)

创建集合的时要注意,集合类型在Python中用set表示,可以通过type函数查看:

date={1,2,3}
print(type(data))

想要正确的创建一个空集合,你需要:

num_set5 = set()
type(num_set5)

字典

字典是包含若干“键:值”元素的无序可变序列,字典中的每个元素包含用冒号分隔开的“键”和“值”两部分,表示一种映射或对应关系

建立一个空字典:

dict1 = {}
print(dict1)
print(type(dict1))

向字典输入值:

dict1['name'] = 'Tom'
dict2['age'] = 20
print(dict1)

将值直接以键值对的形式在创建的时候传入字典中:

dict2 = {'name':'Tom', 'age':10}
print(dict2)

工厂函数

 创建一个空列表:

empty_list = list()
empty_list

创建了一个空集合:

empty_set = set()
empty_set

创建了一个空字典:
 

empty_dict = dict()
empty_dict

创建一个空元组:

empty_tuple = tuple()
empty_tuple

结构间的转换

通过函数,把字符串转化为列表等等

list1 = list("abcdefg")

把元组转化为列表:

list2 = list((1,2,3,4))

还可以把集合转化为列表:

list3 = list({1,2,3,4,5,6})

等等等等,每个数据结构的函数都能用来互相转化。

结构嵌套

结构是可以嵌套使用的,也就是一些结构可以作为另一个结构的元素

列表包含列表:

nest_list = [1,2,3, ['a', 'b', 'c'] ]
print(nest_list)
print(len(nest_list))

列表包含元组:

nest_list2 = [1,2,3, ('a', 'b', 'c') ]
print(nest_list2)
print(len(nest_list2))

元组嵌套列表:

nest_tuple = ([1,2], [3,4])
print(nest_tuple)
print(len(nest_tuple))

把嵌套元组或嵌套列表转换成字典,有两种写法:

第一种:

dict1=dict([('key1',100),('key2',200)])
print(dict1)

第二种:

dict(key1 = 100,key2 = 200)

好了,Python的内置数据结构就这么多,其实静下心来慢慢理解还是可以理解的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值