Python基礎學習(序列)

序列的基本操做

拼接序列
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')
相關文章
相關標籤/搜索