1.列表list
2.元组tuple
3.字典dict
4.集合set
1.列表list
列表特点:
1.列表用 [ ] 括住数据
2.列表内的数据允许重复
3.列表内的数据可以修改
4.列表允许用下标访问,例如 l = list[1,2,3],l[ 0 ] = 1;
5.列表支持加法和乘法运算
6.列表中可以有不同类型的成员
7.列表中的成员也可以是列表
例子:
>>l = [ ]; #表示创建一个空列表
>>l = [1,2,3] #创建一个有3个成员的列表
>>a=[1,2]
>>b=[3,4]
>>a = a+b #a=[1,2,3,4]
>>a = a*3 #a=[1,2,1,2,1,2]
列表的方法:
list.append(x) #列表的尾部追加成员x
list.count(x) #返回 x 在列表list中出现的次数
list.extend(b) #在列表list 的后面追加列表b,如列表的加法效果一样
list.index(x) #返回x在列表中的位置,如果有多个x,则返回第一个x的位置
list.insert(pos,data) #在列表list 的pos位置插入成员data
list.pop() #删除尾部的成员,并返回该成员
list.remove(x) #删除列表中的x成员,若有多个,则删除第一个,若不存在,则报错
list.sort() #将列表中的成员进行排序,前提是列表中的成员能排序
list.reverse() #将列表中的成员进行顺序颠倒
2.元组tuple
元组特点:
1.元组内的成员用( )括起来
2.元组跟列表不同的地方就是元组中的成员是不允许修改的,包括修改成员位置也不可以,所以排序是不行的
3.元组中也可以包含不同类型的成员。
4.元组也可以有相同的成员
5.元组也支持加法,乘法
6.列表中的方法只要不是修改元组中的成员的,都可以用
7.元组支持下标访问
8.元组中的成员也可以是元组
例子:
>>t = (1,) #创建一个只有一个成员的元组,注意:创建只有一个成员的元组时,后面必须加逗号
>>t.sort() #报错,元组不能被修改成员位置。
3.字典dict
字典特点:
1.字典的数据用{ }括起来
2.字典中没位置可言,不能用下标访问
3.字典的成员都是以 key:value 键值对的形式存在的
4.字典的成员可以重复,但没有意义,key:value 中的key也可以重复,但是迭代字典时,只会显示一个key:value
5.key最好不要重复
6.字典不支持加法乘法
例子:
>>d={}#创建空字典
>>d = {'a':1,'b':2,'c':3}#创建一个拥有3个成员的字典
>>val = d[’a‘]#返回键值a对应的value
字典的方法:
dic.clear()#清空字典
dic.copy()#复制字典
dic.get(key,defualt value)#给出键值key,返回对应的数据,如果没对应的key,返回default key,default key是自己设定的,也可以不写
dic.items()#获得由键和值组成的迭代器(迭代器用于for...in 迭代打印字典)
dic.keys()#获得键key 的迭代器
dic.values()#获得值value的迭代器
dic.pop(k)#删除对应的 k:v 键值对
dic.popitem()#从字典中删除任意一个键值对,并返回他
方法使用例子:
>>a={'a':1,'b':2,'c':3}
>>b={}
>>b=a.copy()#把字典a复制给了字典b
>>a={'a':1,'b':2,'c':3}
>>for i in a.items():
>>print(i)#将会打印出:('a',1) ('b',2) ('c',3)
>>a={'a':1,'b':2,'c':3}
>>for i in a.keys():
>>print(i)#将会打印出:a b c (a,b,c谁前谁后不一定)
4.集合set
概述:集合set是一个无序不重复的元素集合。若有重复则会抵消掉。
集合的特点:
1.集合支持并集,交集,差集运算
2.由于集合是无序的,所以不能用下标访问
3.集合可以有重复的成员,但迭代打印时,只会打印一个,所以最好不要有重复的成员
例子:
>>s=set()#创建一个空集合
>>s=set('python')#创建一个集合,集合里有{'n','p','o','y','t','h'}
若有 a=set{"abcdefg"}b=set("defghijk)
>> c = a&b#c为 集合a和集合b的交集,c为 {'d','e','f','g'}
>>c = a|b#c为集合a和集合b 的并集,c为{'f', 'g', 'h', 'i', 'e', 'j', 'k', 'a', 'b', 'c', 'd'}
>>c = a-b#c为a和b的差集,c为{'a','c','b'}
>>print(a<=b)#判断是否 a 是 b的子集
>>print(a>=b)#判断a是否包含 b
set一些方法:
len(s)#返回集合s中的成员个数
s.add(x)#添加一个成员
s.update([1,2,3])#添加3个成员
s.discard(x)#如果集合s中存在成员x,则删除x
s.clear()#删除集合中的所有成员
s.pop()#删除任意一个成员,并返回
s.remove(”x“)#删除指定成员x
c=s.copy()#复制集合s,给集合c