python之list、tuple、dict、set对比

这两天开始学习了下Python,在此灰常感谢廖雪峰老师关于Python的系列文章。下面,是我在学习过程中遇到的标题上的四个内置属性时,觉得理一理,不然觉得会“思想错乱”的。

1. List

list是Python内置的一种数据类型,它是有序的而且状态可以改变,例如可以对其进行增删改查的操作。
示例如下:首先创建一个list列表,要清楚list的格式,不然会和下面的tuple等等搞混,话说我已经有点…………….

>  list = ['a', 'b', 'c'] 

通过append添加一条数据:

>  list.append('d')
>  ['a', 'b', 'c','d'] 

通过insert在列表指定位置插入一条数据:

> list.insert(1,'e')
>   ['a', 'e' , 'b', 'c','d'] 

通过pop可以删除列表最后一条数据,也可以通过指定位置,删除该位置元素,如pop(i)

list.pop()
[‘a’, ‘e’ , ‘b’, ‘c’]
list.pop(1)
[‘a’, ‘b’, ‘c’]

可以通过索引位置,替换指定位置的元素:

 list[1]='k'      
 ['a' , 'k' , 'c' ]

2.tuple

tuple是Python中另一种有序列表,元组。但是tuple不像list,tuple初始化后便不能再随意修改了。除非元素里有嵌套list列表,下面会举例说……………….

tuple书写格式:

list = ('a', 'b', 'c'

注意:如果列表中只有一个元素,则须注意:

>>> t = (1)
>>> t
1

定义的并不是tuple,而是数字1,所以要避免这种错误,使用如下格式:

>>> t = (1,)
>>> t
(1,)

前面有说可以通过嵌套list列表,来实现修改tuple列表:

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

具体原因,请移步廖雪峰老师的其中一篇文章–使用list和tuple


3.dict

dict是Python内置的一种元素,使用键-值(key-value)存储,具有极快的查找速度。

dict书写格式:

>>> grade = {'kk': 95, 'll': 75, 'kl': 85}

通过指定key便能找到对应的值:

>>> grade['kk']
95

通过key添加元素:

>>> d['kong'] = 67
>>> d['kong']
67

通过pop(key)的方法删除匹配的key-value:


>>> d.pop('kk')
95

4.set

set和dict类似,也是一组key的集合,但不存储value。在set中,没有重复的key。
创建一个set,需要提供一个list作为输入集合:

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

通过add(key)方法可以添加元素到set中,基于set特性,如果添加重复元素,则不会有效果

>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}

通过remove(key)方法可以删除元素:

>>> s.remove(4)
>>> s
{1, 2, 3}

最后放个大招,就是对于不可变的对象,即便存在replace属性,但是也不能改变初始值,但是会创建一个新的对象来存储替换的值,如下:

>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a
'abc'
>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'

具体请移步廖雪峰老师的其中一篇文章–使用dict和set

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值