您的位置:首页 > 编程语言 > Python开发

Python中list,tuple,dict,set基本定义和基本用法

2017-07-10 18:17 489 查看

定义

list: 链表, 有序的项目, 通过索引进行查找, 使用方括号”[]”;

tuple:元组, 元组将多样的对象集合到一起, 不能修改, 通过索引进行查找, 使用括号”()”;

dict:字典, 字典是一组键(key)和值(value)的组合, 通过键(key)进行查找, 没有顺序, 使用大括号”{}”;

set:集合,无序, 元素只出现一次, 自动去重, 使用”set([])”;

list

创建

直接赢[]括起来就创建了一个了list对象。list对象里面的数据类型没有要求。为空则为空list。

用range()生成:

L_1 = range(1,10)
L_2 = range(1,10,2)
print L_1
print L_2




ps: range()不包括最后一个元素

# -*- coding: utf-8 -*-

L = [1 ,2 ,5 ,7 ,3 ,6 ]
#    0  1  2  3  4  5
#   -6 -5 -4 -3 -2 -1
print L[0:3]    #从0到3的元素
print L[3:]     #3之后的元素
print L[-1:]    #-1之前的元素
print L[::2]    #每隔2取一个元素
print L[::3]    #每隔3取一个元素
print L[::-1]   #倒着每隔1取一个元素,也就是倒置


如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释

# -*- coding: utf-8 -*-


目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为… 并选择UTF-8格式保存。



索引

索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1。

也可以用 -1 这个索引来表示最后一个元素,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示。

L = ['A','B','C','D'];
print L[0]
print L[1]
print L[2]
print L[3]
print L[-1]
print L[-2]
print L[-3]




list.append(要添加的元素),在尾部追加。

list.sret(位置,要添加的元素),指定位置插入

L = ['A','B','C','D'];
print L
L.append('E');
print L
L.insert(0,'W')
print L




要删除指定位置的元素,用pop(i)方法,其中i是索引位置。如果为空,删除末尾。

L_1 = ['A','B','C','D'];
print L_1
L_1.pop(1)
print L_1
L_2 = ['A','B','C','D']
print L_2
L_2.pop()
print L_2




替代则直接对要替代的元素赋值

L = [1,2,3,4]
print L
L[1] = 3
print L




这几种类型都能用len()求长度。

tuple

创建tuple和创建list唯一不同之处是用( )替代了[ ]。

tuple创建后不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。

单元素tuple

T_1 = (1)
print T_1
T_2 = (1,)
print T_2




因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”

dict

dict是通过 key 来查找 value。

花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。

D = {
'A':1,
'B':2,
'C':3
}

print D['A']
print D['D']




通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。

D = {
'A':1,
'B':2,
'C':3
}

print D.get('A')
print D.get('D')




dict本身提供的一个 get 方法,在Key不存在的时候,返回None

使用for循环遍历:

D = {
'A':1,
'B':2,
'C':3
}

for x in D:
print x,D[x]




> for循环: for 变量 in 结构


dict的特点

1.查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.dict的缺点是占用内存大,还会浪费很多内容

2.存储的key-value序对是没有顺序的

3.作为 key 的元素必须不可变

set

set 持有一系列元素,但是set的元素没有重复,而且是无序的

set的特点

1.set的内部结构和dict很像,唯一区别是不存储value

2.set存储的元素和dict的key类似,必须是不变对象

3.set存储的元素也是没有顺序的

set的内部结构和dict很像,唯一区别是不存储value

S = set([1,2,3,4,5,6])
print S
S.add(7)
print S
S.remove(4)
print S




遍历使用for循环

应用场景

list, 简单的数据集合, 可以使用索引;

tuple, 把一些数据当做一个整体去使用, 不能修改;

dict, 使用键值和值进行关联的数据;

set, 数据只出现一次, 只关心数据是否出现, 不关心其位置;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: