序列的基本操做
拼接序列
python
使用‘+’號拼接相同類型的序列,新序列可能有重複元素app
print [1,2,3]+[2,3,4]+[4,5] print 'hello '+ 'world!'
序列*數字
函數
用數字x乘以一個序列會生成新序列,原序列會被重複x次學習
print [1,2,2]*2 #能夠用None關鍵字建立指定長度的空列表 print [None]*4
將控制檯輸入的英文用‘盒子’包含住打印輸出
spa
#raw_input函數會將控制檯輸入轉爲字符串 words=raw_input("input:") #len()函數能夠獲取序列長度 width=len(words) print '+'+'-'*width+'+' print '|'+words+'|' print '+'+'-'*width+'+'
判斷一個序列是否包某一個元素——incode
控制檯的輸入在指定序列中,則輸出訪問成功排序
dataList=[ ['lisi','123'], ['zhangsan','234'], ['wangwu','325'] ] userName=raw_input('input name:') userPwd=raw_input('input password:') userInput=[userName,userPwd] if userInput in dataList: print 'access granted!'
內建函數len、min、max索引
numbers=[4,2,44,56,3,22] print len(numbers) #這裏使用了佔位符‘%’,將%d替換爲%後表示的數字 print "min number:%d" %min(numbers) print "the min is:%d" %(min(2,4,3)) print "max number:%d" %(max(numbers)) print "the max is:%d" %(max(2,4,3))
列表
前面的例子中已經用到了不少次列表,這裏學習列表與元組、字符串的不一樣之處——列表是可變的,即改變列表內容。
rem
list函數主要用來將指定序列轉爲列表,例如將字符串轉爲列表字符串
print list('hello') print list()
刪除列表中的元素--del關鍵字
names=['lisi','wangw','zhaoliu','lucy','lily'] del names[1] print names
分片賦值
注意,不能給一個索引位置不存在的位置賦值(單索引賦值)
改變原列表長度的賦值,這保留了原列表中的部分元素
names=['lisi','wangw','zhaoliu','lucy','lily'] names[2:]=list('hello') names[2:]=[1,2,3,5,8]
append(param):在列表末尾添加一個元素
names=['lisi','wangw','test','lucy','lily'] #在列表末尾添加一個元素 names.append("test")
count(obj):統計列表中元素obj出現的次數
print names.count('test')
extend(list):將指定序列添加到原序列,與鏈接符‘+’相比,該方法改變了原序列,更高效
names.extend([1,2,4])
index(param):獲取列表中指定元素的索引,該元素必須在列表中
print names.index("test")
insert(index,obj):在列表的指定索引處插入一個元素
names.insert(2, 3)
pop([index]):移除列表中的指定索引元素(默認最後一個)並返回
print names.pop() print names.pop(0)
remove(obj):移除列表中的第一個obj元素
#remove方法用於移除列表中首個指定元素, #remove是針對元素,del是針對索引 del names[1] names.remove('test')
reverse():將列表倒序
names.reverse()
複製一個列表
myList=[11,8,12,4,1,1,3] #這裏有效的複製了一個列表,若是使用賦值,表明兩個變量指向同一個列表 list1=myList[:]
內建函數sorted(obj)能夠不改變原有列表,返回一個排序的新列表,適用於任何元素
list2=sorted(myList)
內建函數cmp(x, y):比較元素x、y,x<y則返回負數,x>y返回正數,x==y返回0
print cmp(12, 14)
sort(cmp=None, key=None, reverse=True):對列表進行排序,sort方法並不會返回新列表,它會改變原有列表
cmp:是比較函數,能夠自定義
key:對列表中元素建立一個key,而後按照各個元素的key對列表排序
reverse參數爲True表示降序,False表示升序;
list1.sort(cmp=None, key=None, reverse=True) #按照列表names中元素的長度排序 names = ['lis','test','aa','aaaaaaa','bbbbb'] names.sort(cmp=None, key=len, reverse=False)
序列之元組——不可變序列
元組與列表同樣,都是序列,惟一不一樣的就是元組不可修改(字符串也不可修改)
定義一個元組
temp=(1,2,5)
定義一個元組,且該元組只有一個元素,元素後必須加‘,’號,不然會變爲數值
temp=(1,)
元組的拼接,數乘,分片(‘:’切割),包含判斷等都可參考序列的方法
tuple:將指定序列轉爲元組
tuple('123')