天天看點

Python之List

序列中的每個元素都配置設定一個數字 - 它的位置,或索引,第一個索引是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