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

xiaoxiao2021-02-28  87

定义

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, 数据只出现一次, 只关心数据是否出现, 不关心其位置;

转载请注明原文地址: https://www.6miu.com/read-35931.html

最新回复(0)