本文共 1911 字,大约阅读时间需要 6 分钟。
序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
序列都可以进行的操作包括索引,切片,加,乘,检查成员
索引运算:[i]
切片运算:[i:j]
扩展运算:[i:j:stride]
a=[1,2,3,4,5,6]
a[1]
a[0:2]
a[6:0:-1]
左侧数小于右侧:a[-1:-3]
[6, 5, 4, 3, 2]
a[0:6:2]
max(a) min(a) len(a) sum(a) all(a)
all(a) any(a)检查a中的所有、任意项是否都为真
s.replace("aa","new")替换一个字符串
s.plit([seq[,maxsplit]])使用sep作为分隔符对一个字符串进行划分,maxsplit是划分的最大次数
s.strip([chrs])删除chrs开头和结尾的空白或字符
s.upper()
列表操作:容器类型
任意对象的有序集合。通过索引访问其中的元素。支持异构,任意嵌套,可变对象,
列表支持在原处修改,列表可变是指内部的每个一个元素存储在对象里,不是修改对象本身,是对象的引用。
l1=[1,2,3,4]
>>> l1=[]
>>> print l1
[]
>>> id (l1)
48778696 ##此为列表的对象,内存的对象是唯一的
支持在原处修改:
修改制定的索引元素,修改指定的分片,删除语句,内置方法
l1=[1,2,3,4,5,6]
l4="adfdf"
l1[2]=33
l1[2]='adfd'#支持异构
l1[1:3]=[]
del(l1[1:])
l1.append(7):内置方法
l1.append(l4)
l1.count(5)#统计指定直出现次数
l1.extend(l4):合并列表
l1.index(5):
l1.insert(1,333)#指定位置插入直
l1.pop()#弹出直,不给指定直,弹出最后一个
l1.pop(4)#弹出索引值是4的值
l1.remove()#删除指定的值,不是第三个元素,
l1.reverse()#在原处逆序
l1.sort()#原处排序
l1=[1,2,3] l2=['x','y','z']
l1+l2 #连接2个列表,进行合并,返回新的列表
字符串也是相同。
序列支持相乘
l1*3# 重复l1的次数为3
in:成员关系判断符:
2 in l1
列表可迭代
not in
2 not in l1
l1[1:]=['a','b','c']切片替换元素
range
xrange
列表解析:a=[for i in l1]
for i in [ i**2 for i in range(1,11)]:print i/2
for i in [ i**2 for i in range(1,11) if i%2==0]:print i/2
l1=l2
l1.append(6)
此时l1还是等于l2
指向同一个内存对象,不是真正复制。列表支持原处修改。 浅复制
要真正复制:为深度复制
l2=l1[:]
此时修改就不会相等。
import copy
l2=copy.deepcopy(l1)
list方法总结:
name=[]
name.extend(range(1000))
name.count(2)查询指定值的个数
name.append()
name.insert(3,'dfdf')
name.index()
name.pop()弹出最后一个
name.pop(1)弹出指定位置值
name.remove()删除具体值
name.reverse()反转
name.sort()排序
批量修改指定值
name.count('add')
for i in range(name.count('add')):
ibm_index=name.index('adddd')
name[ibm_index]='ddfdf'
处理字符串改称列表 之间的转换使用join
a="dfdfdfdfdfdfdfdf"
b=list(a)
c=''.join(b)
判断文件是否打开状态:
避免打开文件忘记关闭可以使用:
with open('aa.txt','r') as f:
for i in f.readlines():
print i
删除列表的值:
remove(aa) 删除一个指定值
del a[6:11] 根据索引值删除
转载地址:http://xbwao.baihongyu.com/