Python 列表(list)善已、字典(dict)、字符串(string)常用基本操作小結(jié)

```

liststringpythondictionarypairinteger

[python] view plaincopy

創(chuàng)建列表

sample_list = ['a',1,('a','b')]

Python 列表操作

sample_list = ['a','b',0,1,3]

得到列表中的某一個(gè)值

value_start = sample_list[0]

end_value = sample_list[-1]

刪除列表的第一個(gè)值

del sample_list[0]

在列表中插入一個(gè)值

sample_list[0:0] = ['sample value']

得到列表的長度

list_length = len(sample_list)

列表遍歷

for element in sample_list:

print 'element'

Python 列表高級操作/技巧

產(chǎn)生一個(gè)數(shù)值遞增列表

num_inc_list = range(30)

#will return a list [0,1,2,...,29]

用某個(gè)固定值初始化列表

initial_value = 0

list_length = 5

sample_list = [ initial_value for i in range(10)]

sample_list = [initial_value]*list_length

# sample_list ==[0,0,0,0,0]

附:python內(nèi)置類型

1淋叶、list:列表(即動(dòng)態(tài)數(shù)組阎曹,C++標(biāo)準(zhǔn)庫的vector伪阶,但可含不同類型的元素于一個(gè)list中)

a = ["I","you","he","she"]? ? ? #元素可為任何類型煞檩。

下標(biāo):按下標(biāo)讀寫,就當(dāng)作數(shù)組處理

以0開始栅贴,有負(fù)下標(biāo)的使用

0第一個(gè)元素斟湃,-1最后一個(gè)元素,

-len第一個(gè)元素檐薯,len-1最后一個(gè)元素

取list的元素?cái)?shù)量

len(list)? #list的長度凝赛。實(shí)際該方法是調(diào)用了此對象的__len__(self)方法。

創(chuàng)建連續(xù)的list

L = range(1,5)? ? ? #即 L=[1,2,3,4],不含最后一個(gè)元素

L = range(1, 10, 2) #即 L=[1, 3, 5, 7, 9]

list的方法

L.append(var)? #追加元素

L.insert(index,var)

L.pop(var)? ? ? #返回最后一個(gè)元素坛缕,并從list中刪除之

L.remove(var)? #刪除第一次出現(xiàn)的該元素

L.count(var)? ? #該元素在列表中出現(xiàn)的個(gè)數(shù)

L.index(var)? ? #該元素的位置,無則拋異常

L.extend(list)? #追加list墓猎,即合并list到L上

L.sort()? ? ? ? #排序

L.reverse()? ? #倒序

list 操作符:,+,*,關(guān)鍵字del

a[1:]? ? ? #片段操作符赚楚,用于子list的提取

[1,2]+[3,4] #為[1,2,3,4]毙沾。同extend()

[2]*4? ? ? #為[2,2,2,2]

del L[1]? ? #刪除指定下標(biāo)的元素

del L[1:3]? #刪除指定下標(biāo)范圍的元素

list的復(fù)制

L1 = L? ? ? #L1為L的別名,用C來說就是指針地址相同宠页,對L1操作即對L操作左胞。函數(shù)參數(shù)就是這樣傳遞的

L1 = L[:]? #L1為L的克隆,即另一個(gè)拷貝举户。

list comprehension

[ for k in L if ]

2烤宙、dictionary: 字典(即C++標(biāo)準(zhǔn)庫的map)

dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}

每一個(gè)元素是pair,包含key俭嘁、value兩部分躺枕。key是Integer或string類型,value 是任意類型。

鍵是唯一的拐云,字典只認(rèn)最后一個(gè)賦的鍵值摧找。

dictionary的方法

D.get(key, 0)? ? ? #同dict[key]鞭执,多了個(gè)沒有則返回缺省值,0。[]沒有則拋異常

D.has_key(key)? ? ? #有該鍵返回TRUE飞蹂,否則FALSE

D.keys()? ? ? ? ? ? #返回字典鍵的列表

D.values()? ? ? ? ? #以列表的形式返回字典中的值,返回值的列表中可包含重復(fù)元素

D.items()? ? ? ? ? #將所有的字典項(xiàng)以列表方式返回栋豫,這些列表中的每一項(xiàng)都來自于(鍵,值),但是項(xiàng)在返回時(shí)并沒有特殊的順序

D.update(dict2)? ? #增加合并字典

D.popitem()? ? ? ? #得到一個(gè)pair氯葬,并從字典中刪除它。已空則拋異常

D.clear()? ? ? ? ? #清空字典捅暴,同del dict

D.copy()? ? ? ? ? ? #拷貝字典

D.cmp(dict1,dict2)? #比較字典恬砂,(優(yōu)先級為元素個(gè)數(shù)、鍵大小蓬痒、鍵值大小)

#第一個(gè)大返回1泻骤,小返回-1,一樣返回0

dictionary的復(fù)制

dict1 = dict? ? ? ? #別名

dict2=dict.copy()? #克隆梧奢,即另一個(gè)拷貝狱掂。

3、tuple:元組(即常量數(shù)組)

tuple = ('a', 'b', 'c', 'd', 'e')

可以用list的 [],:操作符提取元素亲轨。就是不能直接修改元素趋惨。

4、string:? ? 字符串(即不能修改的字符list)

str = "Hello My friend"

字符串是一個(gè)整體惦蚊。如果你想直接修改字符串的某一部分器虾,是不可能的。但我們能夠讀出字符串的某一部分蹦锋。

子字符串的提取

str[:6]

字符串包含判斷操作符:in兆沙,not in

"He" in str

"she" not in str

string模塊,還提供了很多方法莉掂,如

S.find(substring, [start [,end]) #可指范圍查找子串葛圃,返回索引值,否則返回-1

S.rfind(substring,[start [,end]) #反向查找

S.index(substring,[start [,end]) #同find巫湘,只是找不到產(chǎn)生ValueError異常

S.rindex(substring,[start [,end])#同上反向查找

S.count(substring,[start [,end]) #返回找到子串的個(gè)數(shù)

S.lowercase()

S.capitalize()? ? ? #首字母大寫

S.lower()? ? ? ? ? #轉(zhuǎn)小寫

S.upper()? ? ? ? ? #轉(zhuǎn)大寫

S.swapcase()? ? ? ? #大小寫互換

S.split(str, ' ')? #將string轉(zhuǎn)list装悲,以空格切分

S.join(list, ' ')? #將list轉(zhuǎn)string,以空格連接

處理字符串的內(nèi)置函數(shù)

len(str)? ? ? ? ? ? ? ? #串長度

cmp("my friend", str)? #字符串比較尚氛。第一個(gè)大诀诊,返回1

max('abcxyz')? ? ? ? ? #尋找字符串中最大的字符

min('abcxyz')? ? ? ? ? #尋找字符串中最小的字符

string的轉(zhuǎn)換

float(str) #變成浮點(diǎn)數(shù),float("1e-1")? 結(jié)果為0.1

int(str)? ? ? ? #變成整型阅嘶,? int("12")? 結(jié)果為12

int(str,base)? #變成base進(jìn)制整型數(shù)属瓣,int("11",2) 結(jié)果為2

long(str)? ? ? #變成長整型载迄,

long(str,base)? #變成base進(jìn)制長整型,

字符串的格式化(注意其轉(zhuǎn)義字符抡蛙,大多如C語言的护昧,略)

str_format % (參數(shù)列表) #參數(shù)列表是以tuple的形式定義的,即不可運(yùn)行中改變

>>>print ""%s's height is %dcm" % ("My brother", 180)

#結(jié)果顯示為 My brother's height is 180cm

粗截。惋耙。。熊昌。绽榛。。婿屹。灭美。。昂利。届腐。。蜂奸。犁苏。。窝撵。傀顾。襟铭。

list 和 tuple 的相互轉(zhuǎn)化

tuple(ls)

list(ls)

```

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碌奉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子寒砖,更是在濱河造成了極大的恐慌赐劣,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哩都,死亡現(xiàn)場離奇詭異魁兼,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)漠嵌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門咐汞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人儒鹿,你說我怎么就攤上這事化撕。” “怎么了约炎?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵植阴,是天一觀的道長蟹瘾。 經(jīng)常有香客問我,道長掠手,這世上最難降的妖魔是什么憾朴? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮喷鸽,結(jié)果婚禮上众雷,老公的妹妹穿的比我還像新娘。我一直安慰自己做祝,他們只是感情好报腔,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著剖淀,像睡著了一般纯蛾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纵隔,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天翻诉,我揣著相機(jī)與錄音,去河邊找鬼捌刮。 笑死碰煌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绅作。 我是一名探鬼主播芦圾,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼俄认!你這毒婦竟也來了个少?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤眯杏,失蹤者是張志新(化名)和其女友劉穎夜焦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岂贩,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茫经,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了萎津。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卸伞。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖锉屈,靈堂內(nèi)的尸體忽然破棺而出荤傲,到底是詐尸還是另有隱情,我是刑警寧澤部念,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布弃酌,位于F島的核電站氨菇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏妓湘。R本人自食惡果不足惜查蓉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榜贴。 院中可真熱鬧豌研,春花似錦、人聲如沸唬党。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驶拱。三九已至霜浴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蓝纲,已是汗流浹背阴孟。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留税迷,地道東北人永丝。 一個(gè)月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像箭养,于是被迫代替她去往敵國和親慕嚷。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容