1. 列表(list)
list(s) 将序列s转换为一个列表
列表是由一序列特定顺序排列的元素组成的。可以把字符串、数字、字典等任何东西加入到列表中,元素之间用逗号分隔,如:a=['a','b','c',123]
a.append(obj)
在list a末尾追加一个元素,
该方法无返回值,但是会修改原来的列表
a.index(obj)
返回str在列表中第一次出现的位置,不存在则抛出异常(与字符串的find类似)
a.insert(i,obj)
在位置i上插入obj,其余元素向后推,如果i大于列表长度,就在最后添加,如果i小于0,就在最开始添加
a.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
a.remove(obj)
移除list中第一个值为obj的元素,如果不存在会抛出异常
a.sort([func])
对列表元素排序,func为可选参数, 如果指定了该参数会使用该参数的方法进行排序
a.reverse()
反转序列,与sort相反
a.extend(seq)
追加一个列表,等价于+=
a.count(obj)
返回obj出现的次数
len(list)
返回List的长度
cmp(list1, list2) 比较两个列表的元素
切片:
a[3:]
取list a中下标为3的元素到最后
a[1:5]
取list a中下标为1到5的元素
a[1:5:2]
取list a中下标为1到5的元素,步长为2(每次跳过一个取值)
注意:切片的时候,取的是最后一位数字减一
2.元组(tuple)
tuple可以说是不可变的list,但是tuple和list还是有些差别
tuple唯一和list的区别就是[]变成了(),其他没有什么变化,tuple不能增加和减少,它本身自己的方法很少,只有count和index两个方法,其他的list方法都不可用
b=('abc',)
元素在表示单个元素的时候,必须跟一个","进行分离,否则python解析器不会认为是元组
tuple( seq )
将序列转换为元组
b.count(obj)
统计某个元素的个数
b.index(obj)
返回某个元素的下标(第一个匹配的),如果元素不存在即返回错误
3.字典(Dictionary)
字典是另一种可变容器模型,且可存储任意类型对象
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
如:d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组
字典赋值的3种方式:
dic={'name':'feng','age':20,'sex':'man'}
dic2=dict(a=1,b=2,c=3)
dic3=dict([('name','test'),('age',20)])
字典常用的方法:
del dic['name']
# 删除键是'name'的条目
dic.clear()
# 清空词典所有条目
del dic
# 删除词典
dic.copy()
copy() 函数返回一个字典的浅复制(浅拷贝: 引用对象)
dic.get(key, default=None)
get() 函数返回指定键的值,如果值不在字典中返回默认值,key是字典中要查找的键,default -- 如果指定键的值不存在时,返回该默认值值
dic.keys()
keys() 函数以列表返回一个字典所有的键
dic.values()
values() 函数以列表返回字典中的所有值
dic.iteritems()
iteritems() 函数以列表返回可遍历的(键, 值) 元组数组(同items一样效果,开发中常用iteritems,因为iteritems是取一次用一次,不会一次性取出所有内容)
函数使用举例:
for k,v in dic.iteritems():
print (k,v)
dic.update(dict2)
函数把字典dict2的键/值对更新到dict里
dic.has_key(key)
用于判断key是否存在于字典dic中,如果键在字典dict里返回true,否则返回false
dic.pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出, 否则,返回default值
dic.fromkeys(seq[, value]))
fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值
举例:
l=['a','b','c','d']
m={}
n=m.fromkeys(l,111)
n=dict.fromkeys(l,222)
print(n)
zip([seql, …])
接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同
dict.update(dict2)
把字典dict2的键/值对更新到dict里
sorted(iterable,key,reverse)
其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认是reverse=false。
直接使用sorted(dic.keys())就能按key值对字典排序,这里是按照顺序对key值排序的,如果想按照倒序排序的话,则只要将reverse置为true即可