Python 学习笔记 2Python中常用集合类型:List,Tuple,Set,Dict使用简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 学习笔记 2Python中常用集合类型:List,Tuple,Set,Dict使用简介相关的知识,希望对你有一定的参考价值。

在使用Python编程中,我们最常用的几种集合类型是:List,Tuple,Set,Dict;下面简单聊聊这几种集合类型;

List 列表:相当于一个数组,不过list的长度是自动变化的而且列表元素自由的,不必每个元素都是同一种类型。它的简洁的定义方式是a=[]。是一种有序组合,可以删除和添加其中的元素;

List的基本操作如下:

##生成一个list,并赋值给list_ex
>>> list_ex=[1,3,4,"list","Tuple","dict",‘set‘]
>>> list1_ex

>>> list_ex
[1, 3, 4, ‘list‘, ‘Tuple‘, ‘dict‘, ‘set‘]

>>> ##获取list中的元素个数

>>> len(list_ex)
7
 #用索引访问list中的位置,访问范围:-n`~n-1;当索引超出范围时,会报一个IndexError错误
>>> list_ex[0]
1
>>> list_ex[-1]
‘set‘
>>> list_ex[len(list_ex)-1]
‘set‘
#在list尾部增加一个元素
>>> list_ex.append(‘over‘)
>>> list_ex
[1, 3, 4, ‘list‘, ‘Tuple‘, ‘dict‘, ‘set‘, ‘over‘]
 #插入元素到指定位置list_ex.insert(1,‘2‘)

>>> list_ex
[1, ‘2‘, 3, 4, ‘list‘, ‘Tuple‘, ‘dict‘, ‘set‘, ‘over‘]
>>> list_ex.insert(1,2)
>>> list_ex
[1, 2, ‘2‘, 3, 4, ‘list‘, ‘Tuple‘, ‘dict‘, ‘set‘, ‘over‘]
#删除一个元素
>>> list_ex.pop()
‘over‘
>>> list_ex
[1, 2, ‘2‘, 3, 4, ‘list‘, ‘Tuple‘, ‘dict‘, ‘set‘]
#删除指定的元素
>>> list_ex.pop(2)
‘2‘
>>> list_ex
[1, 2, 3, 4, ‘list‘, ‘Tuple‘, ‘dict‘, ‘set‘]
 #一个list的元素可以说另一个list
>>> list_exs=[‘Python‘,list_ex,‘over‘]
>>> list_exs
[‘Python‘, [1, 2, 3, 4, ‘list‘, ‘Tuple‘, ‘dict‘, ‘set‘], ‘over‘]
#list_exs的长度应该是3
>>> len(list_exs)
3
 #list_exs可以认为是一个二维数组
>>> list_exs[2][0]
‘o‘
>>> list_exs[1][3]
4

 #设置一个空list,长度为0

>>> l=[]
>>> l
[]
>>> len(l)
0

Tuple 元组:也是一种有序列表,和list非常相似,但是tuple一旦初始化就不能再修改;无法对Tuple进行增加和删除元素。正是由于Tuple不可变,所以代码更加安全;在某种特殊情况下,要想修改Tuple中非list元素,可以先转换为list然后在修改,最后转回为Tuple;Tuple基本操作如下:

 1 #定义tuple  
 2 >>>tp=(list,tuple,dict,set)  
 3 >>>tp  
 4 (list,tuple, dict, set)  
 5 #取出tuple中的元素  与list相同  
 6 >>>tp[2]  
 7 dict  
 8 >>>tp[-1]  
 9 set  
10 #定义只有一个元素的tuple  末尾要加,(1,)而不能直接用(1)  
11 >>>tp=(1,)  
12 >>>tp  
13 (1,)  
14 >>>tp=(2)  
15 >>>tp  
16 2  
17 #tuple中包含list  
18 >>>tp=(1,py,3)  
19 >>>tp  
20 (1, [1,tuple, dict, set], 3)  
21 >>>tp[1][1]=2  
22 >>>tp  
23 (1, [1,2, dict, set], 3)

Dict 字典:即键值对类型,键名不可重复,并且不可以变化;简单的定义方式为:a={},是一种无序组合;其原理和现实查字典一样,通过字典中的索引列表查到所需要字的页码号,然后直接翻到该页查到你所需要的字的值;其查找速度非常快,不会随着字典的大小而变化。

字典的具体操作如下所示:

 1 生成一个dict,dict内部存放的顺序和key放入的顺序是没有关系的   
 2 dt={a:1,b:2,c:3,d:4}  
 3 >>>dt  
 4 {d:4, c: 3, b: 2, a: 1}  
 5 #通过key 取出 value  
 6 >>>dt[c]  
 7 3  
 8 #新建key 和 value  
 9 >>>dt[e]=5  
10 >>>dt  
11 {e:5, d: 4, c: 3, b: 2, a: 1}  
12 #通过key 重新对value赋值  
13 #由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉  
14 >>>dt[e]=10  
15 >>>dt  
16 {e:10, d: 4, c: 3, b: 2, a: 1}  
17 #如果key不存在,dict就会报错  
18 >>>dt[f]  
19     
20 SyntaxError:EOL while scanning string literal  
21 >>>dt[f]  
22 Traceback(most recent call last):  
23   File "<pyshell#1093>", line1, in <module>  
24     dt[f]  
25 KeyError:f  
26 #通过in判断key是否在dict中  
27 >>>b in dt  
28 True  
29 #通过get 方法获得key对应的value 不存在时返回指定的值  
30 >>>dt.get(f,-1)  
31 -1  
32 >>>dt.get(a,-1)  
33 1  
34 #使用pop(key)删除指定的key 和对应的value  
35 >>>dt.pop(a)  
36 1  
37 >>>dt  
38 {e: 10, d: 4, c: 3,b: 2}  

Set 集合:和dict类似,但一组key的集合,不存储value值;是一个无序的组合,其中key值是不可重复的(int,float,bool,str,tuple);具体操作如下:

#生产一个set
>>> St=set([1,2,3,4,5])
>>> St
{1, 2, 3, 4, 5}
# set中不会出现重复的键值
>>> St=set(23455432)
>>> St
{3, 4, 5, 2}
#通过add(key)增加一个key值
>>> St.add(1)
>>> St
{3, 4, 1, 5, 2}
 #通过remove(key)向set删除key 值
>>> St.remove(3)
>>> St
{4, 1, 5, 2}

 

以上是关于Python 学习笔记 2Python中常用集合类型:List,Tuple,Set,Dict使用简介的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记总结

知了堂学习笔记java中常用集合的理解

Python学习笔记

python学习笔记之——python面向对象

数学建模学习笔记集训十天之第一天

Python 学习笔记 -- 一些常用的BIF