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

Python自学之路-list、tuple、dict和set_第1张图片

上一篇「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]

Python自学之路-list、tuple、dict和set_第2张图片

二、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}

Python自学之路-list、tuple、dict和set_第3张图片

五、总结

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

你可能感兴趣的:(Python自学之路-list、tuple、dict和set)