python学习之路--数据结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/d345389812/article/details/88294374

python常用的数据结构有元组tuple,列表list,字典dictionary和集合set。

元组tuple

元组最大的特点是元素不可修改,因此对于代码的安全性而言,元组是最佳的数据结构。因为元组中的元素不可修改,因此对于元组中的元素只能查询不能更改。

#普通索引
tup = (1,2,3)
tup[1]
2
#切片索引
tup[1:]
(2, 3)

列表list

列表是python中最常用的数据结构之一,其特点为元素可改、有序且可以同时存储不同类型的数据,因此可以对其进行增删查选等操作。

  • list.append():在列表最后一位添加一个元素
    list.extend():在列表最后一位同时添加多个元素
    list.insert():向列表某个位置插入一个元素
    list.remove():删除列表中某一个元素
    list.pop():删除列表中某个位置的元素(根据位置),默认为末尾最后一位,并返回删除值
    del list[:]:同时删除列表中多个元素
    list.reverse():将列表中的元素进行倒序
    list.clear():移除列表中所有的元素
    list.count():对列表中某个元素进行计数
    list.index():返回列表中某个元素的最靠前的位置值
    list.sort():对列表中的元素排序,默认为升序
#append的使用
list_A = [1,2,3,"a","G"]
list_A.append("APP")
list_A
[1, 2, 3, 'a', 'G', 'APP']
#extend的使用
list_B = ["ART","break","China"]
list_A.extend(list_B)
list_A
[1, 2, 3, 'a', 'G', 'APP', 'ART', 'break', 'China']
#insert的使用
list_A.insert(3,"love")
list_A
[1, 2, 3, 'love', 'a', 'G', 'APP', 'ART', 'break', 'China']
#remove的使用
list_A.remove("APP")
list_A
[1, 2, 3, 'love', 'a', 'G', 'ART', 'break', 'China']
#pop的使用
list_A.pop() #默认删除最后一个元素,即“China”
list_A.pop(5) #删除第5位的'G"
list_A
[1, 2, 3, 'love', 'a', 'ART', 'break']
#del的使用
del list_A[3:]
list_A
[1, 2, 3]
#reverse的使用
list_A.reverse()
list_A
[3, 2, 1]
#sort的使用
list_A.sort() #默认升序
list_A
[1, 2, 3]
#index的使用
list_A.index(3) #元素所在位置为2
2
#count的使用
list_A.append(3)
list_A.count(3)
2
#clear的使用
list_A.clear()
list_A
[]

字典

字典是python最常用的两大数据结构的另外一个,由键值对组成,其特点是键是唯一的且不能修改,因此键可以是数值、字符串和元组却不可以为列表;若键重复,值只取最后一个;键值对是无序的,因此不能通过切片索引的方式查询。

  • dict.keys():获取字典所有的键
    dict.values():获取字典所有的值
    dict.items():或者字典所有的键值对
    dict.get():判断字典中是否含有某个元素
    dict.update():更新字典中的键值对
    del dict[]:删除字典中某个键值对
    dict.clear():删除字典中所有键值对
dict1 = {}
dict1["今天"] = "周四"
dict1["昨天"] = "周三"
dict1["明天"] = "周五"
dict1
{'今天': '周四', '昨天': '周三', '明天': '周五'}
#dict.keys()的使用
dict1.keys()
dict_keys(['今天', '昨天', '明天'])
#dict.values()的使用
dict1.values()
dict_values(['周四', '周三', '周五'])
#dict.items()的使用
dict1.items()
dict_items([('今天', '周四'), ('昨天', '周三'), ('明天', '周五')])
#dict.get()的使用
dict1.get("昨天",-1)
'周三'
dict1.get("大后天",-1) #当键不存在时,返回-1
-1
#dict.update()的使用
dict1.update({"后天":"周六"})
dict1
{'今天': '周四', '昨天': '周三', '明天': '周五', '后天': '周六'}
#del dict[]的使用
del dict1["昨天"]
dict1
{'今天': '周四', '明天': '周五', '后天': '周六'}
#dict.clear()的使用
dict1.clear()
dict1
{}

集合

集合的特点:元素是无序、不可重复且不可改变的,常用来去除重复元素。集合的运算有并集union,交集intersection,差集difference和对称差集sysmmetric difference。

  • set3 = set1 | set2 = set1.union(set2) :set1和set2的并集
    set3 = set1 & set2 = set1.intersection(set2) :set1和set2的交集
    set3 = set1 - set2 = set1.difference(set2) :set1和set2的差集(元素出现在set1中,但不在set2中)
    set3 = set1 ^ set2 = set1.sysmmetric difference(set2) :set1和set2的称差集(元素在set1或set2中,但不同时出现在二者当中)
    set.add() :在集合中添加一个元素
    set.remove() :在集合中删除一个元素
    set.update() :在集合中添加多个元素
    in/not in :判断某个元素是否出现/不出现在集合中
set1 = set([1,2,3,"a","b","c","a","1"])
set1
{1, '1', 2, 3, 'a', 'b', 'c'}
#并集
set2 = set([1,4,5,"ab","b","cd"])
set3 = set1|set2
set3
{1, '1', 2, 3, 4, 5, 'a', 'ab', 'b', 'c', 'cd'}
#交集
set3 = set1 & set2
set3
{1, 'b'}
#差集
set3 = set1-set2
set3
{'1', 2, 3, 'a', 'c'}
#对称差集
set3 = set1^set2
set3
{'1', 2, 3, 4, 5, 'a', 'ab', 'c', 'cd'}
#add()的使用
set1.add("abcd")
set1
{1, '1', 2, 3, 'a', 'abcd', 'b', 'c'}
#update()的使用
set1.update(["ac","1","ab"])  #set1原来就有元素"1",因此update的时候"1"只保留了一个;添加多个值时记住要存在列表中
set1
{1, '1', 2, 3, 'a', 'ab', 'abcd', 'ac', 'b', 'c'}
#remove()的使用
set1.remove("abcd")
set1
{1, '1', 2, 3, 'a', 'ab', 'ac', 'b', 'c'}
#in/not in()的使用
b = [i for i in set2 if i not in set1]
b
[4, 5, 'cd']

猜你喜欢

转载自blog.csdn.net/d345389812/article/details/88294374