Python常用数据结构

列表

Python最基本数据结构,每个元素分配位置数字-索引,索引从0开始。

常用方法

append() insert() extend() pop() sort()

list1 = [1,2,3]
# 在列表末尾添加新的对象
list1.append(4)  # [1,2,3,4]
# 统计某个元素在列表中出现的次数
list1.count(1)   # 1
# 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list1.extend([5,6])  # [1,2,3,4, 5,6]
# 从列表中找出某个值第一个匹配项的索引位置  list.index(x[, start[, end]])
list1.index(3)   # 2
# 将对象插入列表
list1.insert(2, 4)  # [1,2,4,3,4, 5,6]
# 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list1.pop()  #  [1,2,4,3,4, 5]
list1.pop(2) # [1,2,3,4, 5]  移除索引为2的元素 索引匹配
# 移除列表中某个值的第一个匹配项
list1.remove(3) # [1,2,4, 5] 移除数字3 内容匹配
# 反向列表中元素
list1.reverse()  # [5,4,2,1]
# 对原列表进行排序
list1.sort(cmp=None, key=None, reverse=False)
# reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

常用函数

cmp(list1, list2)   # 比较两个列表的元素
len(list1)   		# 列表元素个数
max(list1) 			# 返回列表元素最大值
min(list1) 			# 返回列表元素最小值
list(list1) 		# 将元组转换为列表

切片

前闭后开区间选择

list1 = [1,2,4, 5,6]
a = list1[1:3]  # a = [2,4]

切片参数可以缺省

a = list1[:3]  # a = [1,2,4] 
a = list1[3:]  # a = [5,6]

https://www.runoob.com/python/python-lists.html

字典

Python 中list 是C 语言实现的动态数组。
Python 字典是C语言实现的 哈希表。
key-value键值对,键唯一且不可变,可以是字符串,数字或元组;value可以是任何数值类型

dict1 = {'1':'a', '2':'b','3':'c'}
dict1['1'] = 'aa'  # 当键存在,更新原来的value值
dict1['4'] = 'd'   # 当键不存在,追加新的键值对

del dict1['1']  # 删除键是'1'的条目
dict1.clear()      # 清空字典所有条目
del dict1         # 删除字典

内置函数

cmp(dict1, dict2)   # 比较两个字典元素。
len(dict)			# 计算字典元素个数,即键的总数。
str(dict)			# 输出字典可打印的字符串表示。
type(variable)		# 返回输入的变量类型,如果变量是字典就返回字典类型。

常用方法

dict1 = {'1':'a', '2':'b','3':'c'}
dict1.keys()  # 列表返回所有键
dict1.values() # 列表返回所有值
dict1.items() # 列表返回 key,value 常用for循环遍历键值对
dict1.update({'4':'d'}) # 把字典键/值对更新到dict1里

字典与列表的区别

和list比较,dict有以下几个特点:
1.查找和插入的速度极快,不会随着key的增加而增加。
2.需要占用大量的内存,内存浪费多。【key-value两个值存储】
而list相反:
1.查找和插入的时间随着元素的增加而增加。
2.占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。

https://www.py.cn/jishu/jichu/12673.html
https://www.zhihu.com/question/58099937

元组

一旦初始化就不可变,和字符串,数字性质一致
元组中只包含一个元素时,需要在元素后面添加逗号
下标索引访问元组的值,可切片

tup1 = (50,)

元组元素不可修改,可以连接组合

创建一个新的元组

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2  # (12, 34.56, 'abc', 'xyz')

https://www.runoob.com/python/python-tuples.html

集合

集合元素不可重复,会自动去重, 可用于列表去重

set(['a','b','b','b','c'])
out:{'a','b','c'}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值