Python列表、元組、字典和字符串的經常使用函數

Python列表、元組、字典和字符串的經常使用函數

 

一.列表方法

1.ls.extend(object)python

向列表ls中插入object中的每一個元素,object能夠是字符串,元組和列表(字符串「abc」中包含3個元組),至關於ls和object合併。注意:object若是是整型,必須以列表的方式傳入,不能夠以整型或元組的方式傳入git

2.ls.append(object)api

將object做爲一個總體插入到ls最後,object能夠是字符串,元組,列表和字典app

3.ls.insert(index, object)函數

將object做爲一個總體插入到ls指定的索引位置,object能夠是字符串,元組,列表和字典編碼

4.ls.pop([index])spa

刪除指定索引位置的元素,返回被刪除的元素,若是參數爲空,則默認刪除最後一個索引位置的元素。注意:有返回值code

5.ls.remove(value)orm

刪除指定的元素。注意:value是序列裏面的值,不是索引對象

6.ls.reverse()

將列表中元素進行逆向排列

7.ls.sort(cmp=None, key=None, reverse=False)

默認將列表中元素進行升序排列,能夠經過reverse參數將升序設爲降序 

 

二.列表,元組公用的方法

1.ls.count(value)

統計列表中元素value的個數

2.ls.index(value, [start, [stop]])

返回列表中指定元素所在的索引位置,能夠經過start和stop參數設置搜索範圍。注意:若是不存在則會報出異常

 

三.字典方法

1.dic.clear()

刪除字典中全部項

2.dic.fromkeys(S[,v])

新建字典,鍵爲S,值爲v,若是S爲長字符串,返回的鍵爲字符串中的每個字符,值將重複。注意:dic字典中的項不會改變

3.dic.get(k[,d])

獲取字典中指定鍵的值,若是k不屬於字典中的鍵,則返回None。注意:至關於dic[k],可是dic[k]若是k不屬於字典中的鍵,則報出異常

4.dic.setdefault(k[,d])

相似於dit.get(k,d)方法,若是k屬於字典中的鍵,則返回對應的值,不然,將往字典中插入鍵值

5.dic.has_key(k)

返回字典中是否包含鍵k,返回值爲True和False

6.dic.items()

以列表的形式返回字典中的鍵值,每一對鍵值存放在元組中

7.dic.keys()

以列表的形式返回字典全部鍵

8.dic.values()

以列表的形式返回字典中全部值(values)

9.dic.iteritems()

鍵值迭代器,通常用於for循環

10.dic.iterkeys()

鍵迭代器,通常用於for循環

11.dic.itervaleus()

值迭代器,通常用於for循環

12.dic.viewitems()

返回字典中鍵值的視圖,單個鍵值對存放在元組中,全部鍵值對存放在列表中,返回類型爲dict_items,也能夠做爲迭代用於for循環

13.dic.viewkeys()

返回字典中鍵的視圖,單個鍵存放在元組中,全部鍵存放在列表中,返回類型爲dict_items,也能夠做爲迭代用於for循環

14.dic.viewvalues()

返回字典中值的視圖,單個值存放在元組中,全部值存放在列表中,返回類型爲dict_items,也能夠做爲迭代用於for循環

15.dic.pop(k[,d])

刪除字典中指定鍵的值,並返回被刪除鍵的對應值

16.dic.popitem()

隨機刪除某個鍵值對,並返回被刪除鍵的對應值,無需往方法中傳入參數

17.dic.update([E, ]**F)

將字典E中的鍵值對更新到dic中,至關於列表dic和列表E 合併後更新到列表dic中

18.dic.copy()

淺複製:只複製字典中的父對象,對子對象採起引用的辦法。改變子對象的內容會影響到複製和被複制的字典。

例:

1 a ={'name':'ali','age':20,'score':[10,20,30]}
2     b = a.copy()
3     b['name'] = 'bai'
4     b['score'].remove(20)
5     print b
6     print a

輸出結果:

{'age': 20, 'score': [10, 30], 'name': 'bai'}
{'age': 20, 'score': [10, 30], 'name': 'ali'}

 

四.字符串方法

#字母處理

1.string.capitalize()

返回元字符串,且將字符串第一個字母轉爲大寫,其它字母小寫

2.string.title()

返回元字符串,且將字符串第一個字母轉爲大寫,其它字母小寫

3.string.swapcase()

用於對字符串的大小寫字母進行轉換,小寫字符轉爲大寫,大寫字母轉爲小寫

4.string.upper()

將字符串所有轉爲大寫

5.string.lower()

將字符串所有轉爲小寫

#去除空格或者指定字符串

1.string.strip([string])

去除字符串中首尾的字符串,不帶參數默認去除空格

2.string.lstrip([string])

去除字符串左邊字符串,不帶參數默認去除空格

3.string.rstrip([string])

去除字符串右邊字符串,不帶參數默認去除空格

#格式化對齊

1.string.center(width[, fillchar])

返回一個原字符串居中對齊,width爲總長度,兩邊用一個字符fillchar填充,若是指定的長度小於原字符串的長度則返回原字符串。注意:若是fillchar超過1個長度或爲非字符串或爲漢字,則會報出異常

2.string.ljust(width[, fillchar])

返回原字符串左對齊,並使用空格填充至指定長度的新字符串,若是指定的長度小於原字符串的長度則返回原字符串。注意:若是fillchar超過1個長度或爲非字符串或爲漢字,則會報出異常

3.string.rjust(width[, fillchar])

返回原字符串右對齊,並使用空格填充至指定長度的新字符串,若是指定的長度小於字符串的長度則返回原字符串。注意:若是fillchar超過1個長度或爲非字符串或爲漢字,則會報出異常

4.string.zfill()

返回指定長度的字符串,原字符串右對齊,前面填充0

#替換

1.string.replace(old, new[, count])

用新的字符替換老字符,還能夠指定替換的個數,默認所有替換

2.string.expandtabs([n])

將字符串中(tab符號)\t轉換成n個空格

#字符串搜索

1.string.find(sub [,start [,end]])

返回sub字符串第一次出現的索引位置,能夠經過start和stop參數設置搜索範圍,若是未找到sub時返回-1

2.string.rfind(sub [,start [,end]])

返回sub字符串最後一次出現的索引位置,若是沒有匹配項則返回-1,能夠經過start和stop參數設置搜索範圍

3.string.index(sub [,start [,end]])

相似於string.find()方法。注意:未找到sub時會報出異常

4.string.rindex(sub [,start [,end]])

相似於string.rfind()方法。注意:未找到sub時會報出異常

#字符串分割

1.string.split([sep [,maxsplit]])

用來根據指定的分隔符將字符串進行分割,不包含分隔符,結果存爲列表,不指定sep時,默認將將空格做爲分隔符

2.string.partition(sep)

用來根據指定的分隔符將字符串進行分割,分割點爲首次出現sep的地方,且包含分隔符,結果存爲元組,且固定爲3個元素,若是sep不存在字符串中,則後面2個元素爲空

3.string.rpartiton()

用來根據指定的分隔符將字符串進行分割,分割點爲最後一次出現sep的地方,且包含分隔符,結果存爲元組,且固定爲3個元素,若是sep不存在字符串中,則前面2個元素爲空

#字符串判斷

1.string.isupper()

返回字符串中是否全爲大寫 --> True/False

2.string.islower()

返回字符串中是否全爲小寫 --> True/False

3.string.isdigit()

返回字符串中是否只包含數字 --> True/False

4.string.isalpha()

返回字符串中是否只包含字母 --> True/False

5.string.isalnum()

返回字符串中是否只包含字母或數字 --> True/False

6.string.isspace()

返回字符串中是否只包含空格(tab也算空格) --> True/False

7.string.istitle()

返回字符串中首字母是否大寫 --> True/False

8.string.startswith(prefix[, start[, end]])

返回字符串是否以某字符串開始,能夠經過start和stop參數設置搜索範圍

9.string.endswith(suffix[, start[, end]])

返回字符串是否以某個字符串結束 能夠經過start和stop參數設置搜索範圍

#其它

1.string.count(sub[, start[, end]])

計數字符串中某子集的數量,能夠經過start和stop參數設置搜索範圍

2.len(string)

獲取字符串的長度

3.list(string)

字符串轉列表

4.string.join(iterable)

列表轉字符串,用於將序列中的元素以指定的字符string鏈接生成一個新的字符串。注意:iterable只能是字符串類型,不然會報出異常

5.string.encode(encoding='UTF-8',errors='strict')

以 encoding 指定的編碼格式編碼字符串

6.string.decode(encoding='UTF-8',errors='strict')

解碼字符串,出錯默認報ValueError,除非errors是ignore或replace

7.string.translate(table [,deletechars])

根據參數table給出的表(包含 256 個字符)轉換字符串的字符, 要過濾掉的字符放到deletechars參數中

例:

1 #!/usr/bin/python
2 #coding:utf8
3 import string
4 intab = "abcd"
5 outtab = "1234"
6 tab = string.maketrans(intab,outtab)
7 strs = "abcd####abcdefg"
8 print strs.translate(tab)
9 print strs.translate(tab,'ab')

輸出結果:

1234####1234efg
34####34efg

8.string.format(*args, **kwargs)

  它經過{}和:來代替%

  「映射」示例:

經過位置

1 print '{0}#{1}'.format('YYY',10)
2 print ('{}'+'#'+'{}').format('YYY','NNN')
3 print '{1}#{0}#{1}'.format('YYY','NNN')

輸出結果:

YYY#10
YYY#NNN
NNN#YYY#NNN

經過關鍵字參數

1 str1 ='{name}'+' is '+'{age}'
2 print str1.format(name='ali',age=20)

輸出結果:

ali is 20

經過對象屬性

1 class students():
2     def __init__(self,name,age):
3         self.name,self.age = name,age
4 
5     def __str__(self):
6         str1 = '{self.name}'+' is '+'{self.age}'
7         return str1.format(self=self)
8 
9 print str(students("ali",20))

輸出結果:

ali is 20

經過下標

1 name = ['ali','baidu']
2 age = [10,20]
3 str1 = '{0[0]},{0[1]}'+' are '+'{1[0]},{1[1]}'
4 print str1.format(name,age)

輸出結果:

ali,baidare 10,20

   有了這些便捷的「映射」方式,咱們就有了偷懶利器。基本的python知識告訴咱們,list和tuple能夠經過「打散」成普通參數給函數,而dict能夠打散成關鍵字參數給函數(經過和*)。因此能夠輕鬆的傳個list/tuple/dict給format函數。很是靈活。

格式限定符

   它有着豐富的的「格式限定符」(語法是{}中帶:號)

   好比:填充與對齊

   填充常跟對齊一塊兒使用
   ^、<、>分別是居中、左對齊、右對齊,後面帶寬度
   :號後面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充,效果至關於字符串函數center,ljust和rjust。

例:

1 print '{:a^10}'.format('123')
2 print '123'.center(10,'a')
3 print '{:a<10}'.format('123')
4 print '123'.ljust(10,'a')
5 print '{:a>10}'.format('123')
6 print '123'.rjust(10,'a')

輸出結果:

aaa123aaaa
aaa123aaaa
123aaaaaaa
123aaaaaaa
aaaaaaa123
aaaaaaa123

精度與類型

   精度常跟類型f一塊兒使用

1 print '{:.2f}'.format(123.456)

輸出結果:

123.46

其中.2表示長度爲2的精度,f表示float類型。

分隔符用,號還能用來作金額的千位分隔符。

1 print '{:,}'.format(123456789)

輸出結果:

123,456,789

其餘類型

主要就是進制了b、d、o、x分別是二進制、十進制、八進制、十六進制。

1 print '{:b}'.format(17)
2 print '{:d}'.format(17)
3 print '{:o}'.format(17)
4 print '{:x}'.format(17)

輸出結果:

10001
17
21
11
相關文章
相關標籤/搜索