数据结构与算法分析(一):python数据类型

本文深入探讨了Python中的四种核心数据结构——列表、字符串、集合和字典。列表是可变的有序元素集合,支持连接、重复等操作。字符串是不可变序列,提供居中、左对齐、右对齐等方法。集合是无序且不允许重复的元素集合,支持并集、交集、差集运算。字典是无序的键值对集合,通过键进行访问。文章详细阐述了各种操作和方法,是理解Python数据结构的宝贵资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本系列为《Python数据结构与算法分析》第二版学习笔记,作者:布拉德利.米勒;戴维.拉努姆。

有兴趣的可以直接阅读原著。

1、列表是零个或多个指向python数据对象的引用的有序集合,通过在方括号内以逗号分隔的一系列值来表达,列表是异构的,这意味着其指向的数据对象不需要都是同一个类,并且这一集合可以被赋值给一个变量。

可用于任意Python序列的运算

运算名运算符运算符
索引【】取序列中的某个元素
连接+将序列连接在一起
重复*重复N次连接
成员in询问序列中是否有某元素
长度len询问序列的元素个数
切片[:]取出序列的一部分

python列表提供的方法

方法名用法解释
appendalist.append(item)在列表末尾添加一个元素
insertalist.insert(i, item)在列表的第i个位置插入一个元素
popalist.pop()删除并返回列表中的最后一个元素
popalist.pop(i)删除并返回列表中第i个位置的元素
sortalist.sort()将列表元素排序
reversealist.reverse()将列表元素倒序排列
delalist.del()删除列表中第i个位置的元素
indexalist.index(item)返回Item第一次出现的下标
countalist.count(item)返回item在列表中出现的次数
removealist.remove(item)从列表中删除第一次出现的item

2、字符串是序列,因此有序运算符都能用于字符串,此外它还包有以下特有的方法

方法名用法解释
centerastring.center(w)返回一个字符串,原字符串居中,使用空格填充新字符串,使其长度为w
countastring.count(item)返回Item出现的次数
ljustastring.ljust(w)返回一个字符串,将原字符串靠左放置并填充空格至长度w
rjustastring.rjust(w)返回一个字符串,将原字符串靠右放置并填充空格至长度w
lowerastring.lower()返回均为小写字母的字符串
upperastring.upper()返回均为小写字母的字符串
findastring.find(item)返回Item第一次出现时的下标
splitastring.split(schar)在schar位置将字符串分割成字

split接收一个字符串,并且返回一个由分隔符作为分割点的字符串列表,如下:

>>>'David'.split('v')
['Da', 'id']

3、集是由零个或多个不可修改的Python数据对象组成的无序集合。集不允许重复元素,并且写成由花括号包含、以逗号分隔的一系列值,集是异构的。
python集支持的运算

运算名运算符解释
成员in询问集中是否有某元素
长度len获取集的元素的个数
|aset | otherset返回一个包含aset与otherset所有元素的新集
&aset & otherset返回一个包含aset与otherset共有元素的新集
-aset - otherset返回一个集,其中包含只出现在aset中的元素
<=aset <= otherset询问aset中所有元素是否都在otherset中

python集提供的方法

方法名用法解释
unionaset.union(otherset)返回一个包含aset和otherset所有元素的集
intersectionaset.intersection(otherset)返回一个仅包含两个集共有元素的集
differenceaset.difference(otherset)返回一个集,其中仅包含只出现在aset中的元素
issubsetaset.issubset(otherset)询问aset是否为otherset的子集
addaset.add(item)将aset添加一个元素
removeaset.remove(item)将Item从aset中移除
popaset.pop()随机移除aset中的一个元素
clearaset.clear()清除aset中的所有元素

4、字典是无序结构,由相关的元素对构成,其中每队元素都由一个键和一个值组成,字典并不是根据键来进行有序维护的,键的位置由散列来决定。
python字典支持的运算

运算名运算符解释
[]myDict[k]返回与k相关联的值,如果没有则报错
inkey in adict如果key在字典中,则返回True, 否则返回False
deldel adict[key]从字典中删除key的键值对

python字典提供的方法

运算名运算符解释
keysadict.keys()返回包含字典中所有键的dict_keys对象
valuesadict.values()返回包含字典中所有值的dict_values对象
itemsadict.items()返回包含字典中所有键值对的dict_items对象
getadict.get(k)返回k对应的值,如果没有则报错
getadict.get(k, alt)返回k对应的值,如果没有则返回alt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值