Python内置数据结构

列表

用来存储一组有序数据元素的数据结构, 元素之间用逗号分隔。
列表中的数据元素应该包括在方括号中, 列表是可变的数据类型, 一旦创建了一个列表, 可以添加、 删除或者搜索列表中的元素。
列表中的元素不必是相同的类型。如果只有一对方括号而没有任何元素则表示空列表。

列表获取指定位置的元素利用的方法和字符串索引是一致的, 主要有普通索引和切片索引两种。
普通索引是获取某一特定位置的元素。
切片索引是获取某一位置区间内的元素。
演示:
在这里插入图片描述
列表中常用到的函数:
在这里插入图片描述

元组

元组是序列数据结构的另一个重要类型,元组与列表非常类似,唯一的不同是元组一经定义,其内容就不能修改。
从形式上,元组的所有元素放在一对括号中,元素之间使用逗号分隔,如果元组中只有一个元素则必须在最后增加一个逗号。
同样的元组内元素的获取方法主要分为普通索引和切片索引两种。
注意:
元组是不可改变的,这点跟字符串很像。所以元组只能查看而不能修改。
空元组为()

集合

集合(set)属于Python数据结构中的无序可变序列,使用一对大括号作为定界符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。集合中只能包含数字、字符串、元组等不可变类型的数据,而不能包含列表、字典、集合等可变类型的数据。
注意
因为集合没有顺序,因此不能使用索引访问元素。另外也不能通过索引删除元素。
一个空集合表示为set(),而不是用{}来表示这点要和字典区分开来。

字典

字典是包含若干“键:值”元素的无序可变序列,字典中的每个元素包含用冒号分隔开的“键”和“值”两部分,表示一种映射或对应关系,类似于通过联系人姓名查找地址和联系人详细情况的地址簿, 即把键(名字) 和值(详细情况) 联系在一起。
定义字典时,每个元素的“键”和“值”之间用冒号分隔,不同元素之间用逗号分隔,所有的元素放在一对大括号“{}”中。
在这里插入图片描述

字典中元素的“键”的类型必须是Python的不可变类型,例如数字类型、字符串类型、元组类型等,但不能使用列表、集合、字典或其他可变类型作为字典的“键”。另外,字典中的“键”不允许重复,而“值”是可以重复的。
字典中可以通过键来查找值
在这里插入图片描述
也可以通过键来修改值

在这里插入图片描述
用del函数可以通过字典的键来删除对应的键值对

person={'name':'Rose','age':'10','phone':'1111111'}
del person['age']
print(person) 

结构间的转换

通过list()函数,把字符串转换成列表,字符串本质上也是一种内置结构
代码如下:

list1 = list("abcdefg")

也可以把元组转换成列表,
代码如下 :

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

list还可以把集合转换成列表

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

list可以将字典的键转换成列表

list4=list({'x':1,"y":2})

tuple()函数同样可以将字符串、集合、列表转换成元组:
set()函数同样可以把字符串、元组、列表、集合转换成集合类型

 set1 = set("abcdfg") 
 set2 = set((1,2,3,4)) 
 set3 = set([1,2,3,4]) 
 set4 = set({1,2,3,4}) 
 print(set1) 
 print(set2)   
 print(set3) 
 print(set4)

dict函数可以将嵌套的列表和嵌套元组转换成字典,在使用之前要明白什么是列表嵌套和元组嵌套。

结构嵌套

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

nest_list = [1,2,3, ['a', 'b', 'c'] ]

列表也可以包含元组

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

元组也可以嵌套列表

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

把嵌套元组或嵌套列表转换成字典

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

这样写太麻烦了,工厂函数dict还提供了一个简单形式供大家使用

> dict(key1 = 100,key2 = 200)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值