前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python自学之路-list、tuple、dict和set

Python自学之路-list、tuple、dict和set

作者头像
Bug生活2048
发布2018-08-31 15:43:35
4540
发布2018-08-31 15:43:35
举报
文章被收录于专栏:Bug生活2048Bug生活2048Bug生活2048

上一篇「Python自学之路-数据类型和变量」主要简单说明了下数据类型和变量,这一篇主要和大家介绍下list、tuple、dict和set。相信后期在实战中会经常用到。

一、list

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

首先可以定义一个城市的变量citys:

>>> citys=['Shanghai','Beijing','Guangzhou','Suzhou'] >>> citys ['Shanghai', 'Beijing', 'Guangzhou', 'Suzhou']

获取citys中某个元素,注意索引是从0开始的:

>>> citys[0] 'Shanghai'

Python有个特殊的技能,可以从最后一个元素开始取

>>> citys[-1] 'Suzhou'

追加元素可使用append(追加至末尾):

>>> citys.append('Wuhan') >>> citys ['Shanghai', 'Beijing', 'Guangzhou', 'Suzhou', 'Wuhan']

元素插入到指定的位置使用insert:

>>> citys.insert(1,'Qingdao') >>> citys ['Shanghai', 'Qingdao', 'Beijing', 'Guangzhou', 'Suzhou', 'Wuhan']

删除置顶位置的元素使用pop(i),i为索引位置,不填表示删除末尾的元素:

>>> citys.pop() 'Wuhan' >>> citys ['Shanghai', 'Qingdao', 'Beijing', 'Guangzhou', 'Suzhou']

元素替换可以直接赋值:

>>> citys[0]='上海' >>> citys ['上海', 'Qingdao', 'Beijing', 'Guangzhou', 'Suzhou']

另外,list中的元素类型可以是不同的:

>>> test=['上海',520,True] >>> test ['上海', 520, True]

二、tuple

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改

list定义时是使用[],而tuple是使用()

由于定义的tuple不能变,所以也就不存在append(),insert()这样的方法,但其他获取元素的方法还是和list一样的。

有两个注意点需要注意:

1.定义tuple时,元素必须确定下来,当定义一个元素的时候必须加一个逗号','。用来区分()是表示数学公式中的小括号,还是tuple的元素集合边界。

2.tuple中的不可变是指指向不可变。但指向的这个元素本身是可以改变的,比如tuple中嵌套个元素list,那list中的元素是可以改变的。

三、dict

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

相较于list而言,dict的查找和插入的速度极快,同时也不会随着key的增加而变慢。但同时,所占用的内存也相对较多。

>>>d = {'张三':1,'王四':2,'李五':3} >>>d['张三'] 1

这里要注意的是,一个key只能对应一个value,多次赋值只会覆盖。

要判断key在dict中存不存在有两种方式:

一是通过in判断key是否存在:

>>> '张三' in d True

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value,如果存在则返回1:

>>> d.get('张三') 1 >>> d.get('张三儿子',-1) -1

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

>>> d.pop('张三') 1 >>> d {'王四': 2, '李五': 3}

四、set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

大家可以看到,重复元素在set中自动被过滤,同时显示的顺序也不表示set是有序的

>>> s = set([11, 22, 33,44,55,44,55]) >>> s {33, 11, 44, 22, 55}

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:

>>> s.add(66) >>> s {33, 66, 11, 44, 22, 55}

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

>>> s.remove(66) >>> s {33, 11, 44, 22, 55}

五、总结

本次主要整理了list、tuple、dict和set一些常规用法和注意点,相较于其他编程语言还是类似的,如果没有编程基础的可以多看看,多敲敲,相信实战中会经常用到的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Bug生活2048 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档