Python課堂筆記——三囱持、字符串、列表焕济、元組纷妆、字典

三、字符串晴弃、列表、元組上鞠、字典


1.字符串介紹

2.字符串輸出

3.字符串輸入

4.下標(biāo)和切片

5.字符串常見操作

6.列表介紹

7.列表的循環(huán)遍歷

8.列表的常見操作

9.列表的嵌套

10.元組

11.字典介紹

12.字典的常見操作1

13.字典的常見操作2

14.字典的遍歷

15.公共方法

16.引用


1.字符串介紹

字符串:雙引號(hào)或者單引號(hào)中的數(shù)據(jù),就是字符串


2.字符串輸出

<1> demo:

name = "xiaoming"

position = "講師"

address = "北京市"

print("------------------------------")

print("姓名:%s"%name)

print("職位:%s"%position)

print("公司地址:%s"%address)

print("------------------------------")


3.字符串輸入

<1> demo:

userName = input("請(qǐng)輸入用戶名:")

print("用戶名為:%s"%userName)


4.下標(biāo)和切片

<1> 下標(biāo)

所謂下標(biāo)芍阎,就是編號(hào),通過(guò)這個(gè)編號(hào)就能找到相應(yīng)的存儲(chǔ)空間轮听。

name = "abcdef"

name[0] = a

name[1] = b

name[2] = c

<2> 切片

切片是指對(duì)操作的對(duì)象截取其中一部分的操作。字符串血巍、列表、元組都支持切片操作述寡。

切片的語(yǔ)法:[起始:結(jié)束:步長(zhǎng)],選取的區(qū)間屬于左閉右開型叶洞,從起始位開始鲫凶,到結(jié)束位前一位結(jié)束(不包含結(jié)束位本身)

demo1:

name = "abcdef"

print(name[0:3]) = "abc" #取下標(biāo)0-2的字符

demo2:

name = "abcdef"

print(name[0:-1]) = "abcde" #取下標(biāo)為0開始到最后第2個(gè)之間的字符

demo3:

name = "abcdef"

print(name[0:]) = "abcdef" #取下標(biāo)為0開始到最后的字符

demo4:

name = "abcdef"

print(name[1:5:2]) = "bd" #以2為步長(zhǎng),從下標(biāo)1取到下標(biāo)5之間的字符


5.字符串常見操作

設(shè)有字符串 mystr = "hello world itcast and itcastcpp"

<1> find: 檢測(cè)str是否包含在mystr中衩辟,如果是返回開始的索引值掀序,否則返回-1

mystr.find(str, start=0, end=len(mystr))

<2> index: 跟find()方法一樣,只不過(guò)如果str不在mystr中會(huì)報(bào)一個(gè)異常

mystr.index(str, start=0, end=len(mystr))

<3> count: 返回str在start和end之間在mystr里面出現(xiàn)的次數(shù)

mystyr.count(str, start=0, end=len(mystr))

<4> replace: 把mystr中的str1替換成str2惭婿,如果count指定,則替換不超過(guò)count次

mystr.replace(str1, str2, mystr.count(str1))

<5> split: 以str為分隔符切片mystr叶雹,如果maxsplit有指定值财饥,則僅分隔maxsplit個(gè)字符串

mystr.split(" ", 2)

<6> capitalize: 把字符串的第一個(gè)字符大寫

mystr.capitalize()

<7> title: 把字符串的每個(gè)單詞首字母大寫

str.title

<8> startwith: 檢查字符串是否以obj開頭,是返回True折晦,否則返回False

mystr.startwith(obj)

<9> endswith: 檢查字符串是否以obj結(jié)束钥星,是返回True,否則返回False

mystr.endwith(obj)

<10>lower: 轉(zhuǎn)換mystr中所有大寫字符為小寫

mystr.lower()

<11>upper: 轉(zhuǎn)換mystr中所有小寫字符為大寫

mystr.upper()

<12>ljust: 返回一個(gè)原字符串左對(duì)齊满着,并使用空格填充至長(zhǎng)度width的新字符串

mystr.ljust(width)

<13>rjust: 返回一個(gè)原字符串右對(duì)齊谦炒,并使用空格填充至長(zhǎng)度width的新字符串

mystr.rjust(width)

<14>center: 返回一個(gè)原字符串居中贯莺,并使用空格填充至長(zhǎng)度width的新字符串

mystr.center(width)

<15>lstrip: 刪除mystr左邊的空白字符

mystr.lstrip()

<16>rstrip: 刪除mystr右邊的空白字符

mystr.rstrip()

<17>strip: 刪除mystr兩端的空白字符

mystr.strip()

<18>rfind: 類似于find函數(shù),不過(guò)是從右邊開始找

mystr.rfind(str, start=0, end=len(mystr))

<19>rindex: 類似于index函數(shù)宁改,不過(guò)是從右邊開始找

mystr.rindex(str, start=0, end=len(mystr))

<20>partition: 把mystr以str分割成三部分缕探,str前,str和str后

mystr.partition(str)

<21>rpartition: 類似與partition函數(shù)还蹲,不過(guò)是從右邊開始

mystr.rpartition(str)

<22>splitlines: 按照行分隔(字符串中有\(zhòng)n)爹耗,返回一個(gè)包含各行作為元素的列表

mystr.splitlines()

<23>isalpha: 如果mystr中所有字符都是字母,則返回True谜喊,否則返回False

mystr.isalpha()

<24>isdigit: 如果mystr中所有字符都是數(shù)字潭兽,則返回True,否則返回False

mystr.isdigit()

<25>isalnum: 如果mystr中所有字符都是數(shù)字或字母斗遏,則返回True山卦,否則返回False

mystr.isalnum()

<26>isspace: 如果mystr中只包含空格,則返回True诵次,否則返回False

mystr.isspace()

<27>join: mystr中每個(gè)字符后面插入str账蓉,構(gòu)造出一個(gè)新的字符串

mystr.join(str)

demo:

str = ""

li = ["my","name","is","sunhaoyi"]

str.join(li) = my name is sunhaoyi


6.列表介紹

<1>列表的格式:

namelist = ["xiaowang","xiaozhang","xiaohua",1,2,[3,4,5]]

注:python中列表比C語(yǔ)言的數(shù)組強(qiáng)大的地方在于列表中的元素可以是不同類型的

<2>打印列表:

demo:

nameList = ["xiaowang","xiaozhang","xiaohua"]

print(nameList[0])

print(nameList[1])

print(nameList[2])


7.列表的循環(huán)遍歷

<1>使用for循環(huán)

demo:

nameList = ["xiaowang","xiaozhang","xiaohua"]

for name in nameList:

print(name)

<2>使用while循環(huán)

demo:

nameList = ["xiaowang","xiaozhang","xiaohua"]

length = len(nameList)

i = 0

while i < lengh:

print(nameList[i])

i += 1


8.列表的相關(guān)操作(添、刪藻懒、改、查)

<1>添加元素(增: append归敬; extend汪茧; insert)

append: 通過(guò)append可以向列表添加元素

demo:

A = ["xiaowang","xiaozhang","xiaohua"]

A.append(sunhaoyi)

A = ["xiaowang","xiaozhang","xiaohua","sunhaoyi"]

extend: 通過(guò)extend可以將另一個(gè)集合中的元素逐一添加到列表中

demo:

a = [1,2]

b = [3,4]

a.extend(b)

a = [1,2,3,4]

insert: insert(index,object)在指定位置index前插入元素object

demo:

a = [0,1,2]

a.insert(1,3)

a = [0,3,1,2]

<2>修改元素("改"):

修改元素時(shí)舱污,要通過(guò)下標(biāo)來(lái)確定要修改的是哪個(gè)元素扩灯,然后才能進(jìn)行修改

demo:

A = ["xiaowang","xiaozhang","xiaohua"]

A[1] = "xiaolu"

A = ["xiaolu","xiaozhang","xiaohua"]

<3>查找元素("查"in,not in, index, count)

所謂的查找珠插,就是看看指定的元素是否存在

3.1 in(存在)捻撑,如果存在那么結(jié)果為True顾患,否則為False

? ? not in(不存在)江解,如果不存在那么結(jié)果為True膘流,否則為False

demo1:

nameList = ["xiaowang","xiaozhang","xiaohua"]

findName = "xiaowang"

if fingName in nameList:

print("找到了")

else:

print("沒(méi)找到")

demo2:

not in也是相同的用法

3.2 index,count

index,count與字符串中的用法相同

<4>刪除元素("刪",del, pop, remove)

del: 根據(jù)下標(biāo)進(jìn)行刪除

pop: 刪除最后一個(gè)元素

remove: 根據(jù)元素的值進(jìn)行刪除

demo1: del

movieName = ["加勒比海盜","駭客帝國(guó)","霍比特人","指環(huán)王"]

del movieName[2]

movieName = ["加勒比海盜","駭客帝國(guó)","指環(huán)王"]

demo2: pop

movieName = ["加勒比海盜","駭客帝國(guó)","霍比特人","指環(huán)王"]

movieName.pop

movieName = ["加勒比海盜","駭客帝國(guó)","霍比特人"]

demo3: remove

movieName = ["加勒比海盜","駭客帝國(guó)","霍比特人","指環(huán)王"]

movieName.remove("駭客帝國(guó)")

movieName = ["加勒比海盜","霍比特人","指環(huán)王"]

<5>排序(sort, reverse)

sort: 將list按特定順序重新排序耕魄,默認(rèn)由小到大吸奴,參數(shù)reverse=True可改為由大到小

reverse: 將list倒置

demo1:

a = [1,4,2,3]

a.reverse()

a = [3,2,4,1]

demo2:

a = [1,4,2,3]

a.sort()

a = [1,2,3,4]

a.sort(reverse = True)

a = [4,3,2,1]

<6>列表嵌套

類似while循環(huán)的嵌套则奥,列表也支持嵌套

一個(gè)列表中的元素又是一個(gè)列表读处,那么這就是列表的嵌套

a = [1,2,5,4,[7,4,1]]


9.列表嵌套


10.元組

python中元組與列表類似罚舱,不同之處在于元組的元素不能修改管闷。

元組使用(), 列表使用[].


11.字典介紹

<1> python中的字典

info = {"name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

<2> 根據(jù)鍵訪問(wèn)值

info = {"name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

print(info["name"])-------------->班長(zhǎng)

print(info["id"])---------------->100

若訪問(wèn)不存在的鍵包个,則會(huì)報(bào)錯(cuò)

若我們不確定字典中是否存在某個(gè)鍵冤留,又想獲取其值得時(shí)候纤怒,可以使用get方法,還可以設(shè)置默認(rèn)值

demo:

info = {"name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

age = info.get("age")

age不存在

age = info.get("age",18)

age = 18


12.字典的常見操作

<1> 修改元素

字典中的每個(gè)元素的數(shù)據(jù)是可以修改的,只要通過(guò)key找到州既,就可以修改

demo1:

info = {"name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

newId = 99

info["id"] = int(newId)

info = {"name":"班長(zhǎng)", "id":99, "sex":"f", "address":"中國(guó)北京"}

<2> 添加元素

demo1:

info = {"name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

id = 10

info["newid"] = id

info = {"newid":10, name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

<3> 刪除元素

3.1 del

3.2 clear()

demo3.1.1: del

info = {"id":10, name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

del info["name"]

info = {"id":10,, "sex":"f", "address":"中國(guó)北京"}

demo3.1.2: del

info = {"id":10, name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

del info

info整個(gè)字典就被刪除了

demo3.1.3: clear清空整個(gè)字典

info = {"id":10, name":"班長(zhǎng)", "id":100, "sex":"f", "address":"中國(guó)北京"}

info.clear()

info = {}


13.字典的常見操作2

<1> len()

測(cè)量字典中阐虚,鍵值對(duì)的個(gè)數(shù)

<2> keys

返回一個(gè)包含字典所有key的列表

a.keys()

<3> values

返回一個(gè)包含字典所有value的列表

a.values()

<4> items

a.items()

<5> has_key

如果key在字典中蚌卤,返回True逊彭,否則返回False

a.has_key()


14.遍歷

<1> 字符串遍歷

a_str = "hello itcast"

for char in a_str:

print(char)

----------------->h e l l o? i t c a s t

<2> 列表遍歷

a_list = [1,2,3,4,5,6]

for num in a_list:

print(num)

----------------->1 2 3 4 5 6

<3> 元組遍歷

a_turple = (1,2,3,4,5)

for num in a_turple:

print(num)

----------------->1 2 3 4 5 6

<4>字典遍歷

4.1 遍歷字典的鍵

dict = {"name":"zhangsan","sex"="m"}

for key in dict.keys():

print (key)

---------->name sex

4.2 遍歷字典的值

dict = {"name":"zhangsan","sex"="m"}

for value in dict.values():

print (value)

---------->zhangsan m

4.3 遍歷字典的元素

dict = {"name":"zhangsan","sex"="m"}

for item in dict.items():

print (item)

---------->("name", "zhangsan")

? ("sex", "m")

4.4 遍歷字典的鍵值對(duì)

dict = {"name":"zhangsan","sex"="m"}

for key,value in dict.items():

print ("key = %s, value = %s"%(key,value))

---------->key=name,value=zhangsan

? key=sex,value=m


15.公共方法

<1> 運(yùn)算符

運(yùn)算符 描述 支持的數(shù)據(jù)類型

? +? ? 合并? ? 字符串避矢、列表囊榜、元組

? * 復(fù)制 ? 字符串卸勺、列表曙求、元組

? in 元素是否存在 ? 字符串、列表怎抛、元組马绝、字典

not in 元素是否不存在 ? 字符串富稻、列表白胀、元組或杠、字典

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末认境,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子亩冬,更是在濱河造成了極大的恐慌硅急,老刑警劉巖佳遂,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讶迁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡啸驯,警方通過(guò)查閱死者的電腦和手機(jī)祟峦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門宅楞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人距淫,你說(shuō)我怎么就攤上這事榕暇⊥啵” “怎么了缴啡?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵业栅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我反镇,道長(zhǎng),這世上最難降的妖魔是什么你弦? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任禽作,我火速辦了婚禮旷偿,結(jié)果婚禮上萍程,老公的妹妹穿的比我還像新娘茫负。我一直安慰自己忍法,他們只是感情好饿序,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布原探。 她就那樣靜靜地躺著踢匣,像睡著了一般离唬。 火紅的嫁衣襯著肌膚如雪输莺。 梳的紋絲不亂的頭發(fā)上嫂用,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天甘畅,我揣著相機(jī)與錄音往弓,去河邊找鬼槐脏。 笑死撇寞,一個(gè)胖子當(dāng)著我的面吹牛蔑担,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播畔规,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼莫绣!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起悠鞍,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤对室,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后咖祭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掩宜,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年么翰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了牺汤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡浩嫌,死狀恐怖檐迟,靈堂內(nèi)的尸體忽然破棺而出补胚,到底是詐尸還是另有隱情瓶逃,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布浓利,位于F島的核電站渴语,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一然痊、第九天 我趴在偏房一處隱蔽的房頂上張望筑煮。 院中可真熱鬧秸应,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至番刊,卻和暖如春枣抱,著一層夾襖步出監(jiān)牢的瞬間轿秧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工闷沥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留路狮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓团赏,卻偏偏與公主長(zhǎng)得像体谒,于是被迫代替她去往敵國(guó)和親故响。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惨缆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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