序列中的每個元素都配置設定一個數字 - 它的位置,或索引,第一個索引是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] 根據索引值删除
本文轉自 DBAspace 51CTO部落格,原文連結:http://blog.51cto.com/dbaspace/1872467