什么是python中的序列?序列表示有序的排列,每个元素都有相应的位置,可进行索引访问得到。序列具有索引、切片、加、乘、检查这些操作。
python有6种序列形式的内置类型:整形、布尔、字符串、列表、元组和字典。
列表:方括号中以逗号分割的表示形式,如:
lista = ['a','b'], listb = ['a',['b','c']], listc = [1,2,3]
0)获取长度:len(lista)
1)索引&切片:lista[0], listc[1:2]
2)+/extend():组合列表
listd = lista + listb //两个列表组合形成新的列表,赋值给listd
lista.extend(listb) //将列表b添加到列表a中,列表a被修改了
3)乘:重复列表
liste = ['hello ']*3 //['hello ', 'hello ', 'hello ']
4)更新:修改索引的值或者append追加到末尾
5)是否存在:in / not in
if 'a' in lista:
print lista.index('a') //如果存在打印出索引的位置
6)迭代:2种方式
for i in lista:
print i //直接输出列表元素
或者for i in range(0,len(lista)):
print lista[i] //通过索引输出列表元素
7)count():统计某个元素在列表中出现的次数
print lista.count('a')
8)pop() 会修改列表,默认是将末尾元素移除,并返回该元素的值或者填入移除的位置
通过列表模拟堆栈:后进先出
def del:
list.pop()
通过列表模拟队列:先进先出
def del:
list.pop(0)
9)使用过程中遇到的问题:
如果dict中key对应的value为列表类型,根据key动态修改value:
if key in tmp.keys():
tmp[key].append(value)
else:
tmp[key] = [value]
10) 重点说一下列表的append方法
alist=['12','23','34']
blist=alist.append('45')
print blist ###注意,结果是None,之前踩了这个坑
print alist ###直接输出alist就好,append()操作已经修改了原list
参考提取:http://www.runoob.com/python/python-lists.html