list: 链表, 有序的项目, 通过索引进行查找, 使用方括号”[]”; tuple:元组, 元组将多样的对象集合到一起, 不能修改, 通过索引进行查找, 使用括号”()”; dict:字典, 字典是一组键(key)和值(value)的组合, 通过键(key)进行查找, 没有顺序, 使用大括号”{}”; set:集合,无序, 元素只出现一次, 自动去重, 使用”set([])”;
创建 直接赢[]括起来就创建了一个了list对象。list对象里面的数据类型没有要求。为空则为空list。 用range()生成:
L_1 = range(1,10) L_2 = range(1,10,2) print L_1 print L_2ps: 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和创建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是通过 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的特点 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, 数据只出现一次, 只关心数据是否出现, 不关心其位置;