python?字符串索引取值的實(shí)現(xiàn)示例
1. 字符串索引的定義
【定義】
字符串中的每一元素都有一個(gè)屬于自己的編號(hào),這個(gè)編號(hào)就叫索引。
【隱喻】
假設(shè)全班同學(xué)集體去旅游,住酒店時(shí)每個(gè)人一個(gè)房間,酒店的房間從左到右都有一個(gè)房間號(hào)。字符串的元素也一樣,每個(gè)元素在計(jì)算機(jī)中都需單獨(dú)住一個(gè)房間,只是在Python中我們給這個(gè)房間號(hào)起了另一個(gè)高大上的名字索引
。
字符串索引可以理解成字符串元素的房間號(hào)。
字符串索引=字符串元素房間號(hào)
【索引和房間號(hào)的區(qū)別】
房間號(hào)從1開始編號(hào),索引從0
開始編號(hào)。
房間號(hào)沒有負(fù)數(shù),索引有正索引和負(fù)索引。
【知識(shí)擴(kuò)充】
序列是一種可迭代的、元素有序的容器類型的數(shù)據(jù)。
序列包括列表(list)、字符串(str)、元組(tuple)和字節(jié)序列(bytes)等。
列表、元組都是Python的一種數(shù)據(jù)類型。
只要是序列就可以通過索引取值。
上述內(nèi)容僅做了解,后面的課程會(huì)進(jìn)行具體講解。
2. 索引編號(hào)規(guī)則
2.1. ??索引通常從0開始編號(hào)!
千萬注意字符串第1個(gè)元素的索引為0
,不為1。
2.2 正索引
??正索引從左往右開始編號(hào),編號(hào)從0
開始!
2.3 負(fù)索引
??負(fù)索引從右往左開始編號(hào),編號(hào)從-1
開始!
3. 索引的取值
【語法】
字符串索引取值由3部分構(gòu)成:
- 字符串變量名或者字符串本身。
- 英文中括號(hào)。
- 索引。
3.1 正索引取值
【索引0
取字符串的第1個(gè)元素】
# 將字符串Hello賦值給變量a a = 'Hello' # 取字符串的第1個(gè)元素 # 變量名a;英文中括號(hào);索引為0 print(a[0])
【終端輸出】
H
運(yùn)行程序,終端輸出字符串的第1字符H
。
【直接從字符串本身中取值】
print('Hello'[0])
【終端輸出】
H
【索引1
取字符串的第2個(gè)元素】
# 將字符串Hello賦值給變量a a = 'Hello' # 取字符串的第2個(gè)元素 # 變量名a;英文中括號(hào);索引為1 print(a[1])
【終端輸出】
e
運(yùn)行程序,終端輸出字符串的第2字符e
。
【直接從字符串本身中取值】
print('Hello'[1])
【終端輸出】
e
【索引4
取字符串的第5個(gè)元素】
# 將字符串Hello賦值給變量a a = 'Hello' # 取字符串的第5個(gè)元素 # 變量名a;英文中括號(hào);索引為4 print(a[4])
【終端輸出】
o
運(yùn)行程序,終端輸出字符串的第5字符o
。
【直接從字符串本身中取值】
print('Hello'[4])
【終端輸出】
o
3.2 負(fù)索引取值
【索引-1
取字符串的最后一個(gè)元素】
# 將字符串Hello賦值給變量a a = 'Hello' # 取字符串的最后一個(gè)元素 # 變量名a;英文中括號(hào);索引-1 print(a[-1])
【終端輸出】
o
運(yùn)行程序,終端輸出字符串的最后一個(gè)字符o
。
【直接從字符串本身中取值】
print('Hello'[-1])
【終端輸出】
o
【索引-2
取字符串的倒數(shù)第2個(gè)元素】
print('Hello'[-2])
【終端輸出】
1
運(yùn)行程序,終端輸出字符串的倒數(shù)第2字符l
。
【直接從字符串本身中取值】
print('Hello'[-2])
【終端輸出】
1
4. 取身份證號(hào)碼中表示性別的數(shù)字
中國居民身份證號(hào)碼中的倒數(shù)第2位代表性別。
倒數(shù)第2位為奇數(shù)代表男性。
倒數(shù)第2位為偶數(shù)代表女性。
取出代表性別的數(shù)字
# 將身份證號(hào)碼賦值給變量id_card id_card = "533001199901013029" # 用負(fù)索引從id_card中取出代表性別的倒數(shù)第2位數(shù)字 print(id_card[-2]) # 用正索引從id_card中取出代表性別的第17位數(shù)字 print(id_card[16])
【終端輸出】
2
2
5. 課后練習(xí)
題目要求:編寫程序根據(jù)用戶輸入的身份證號(hào)碼判定用戶的性別。
【參考答案1】
# 用input函數(shù)從終端獲取身份證號(hào)碼 id_card = input("請(qǐng)輸入18位身份證號(hào)碼:") # 從字符串中取出代表性別的數(shù)字并賦值給變量sex # input函數(shù)得到的是字符串類型,因此我用int函數(shù)將其轉(zhuǎn)換為整數(shù)類型,方便后面進(jìn)行數(shù)學(xué)運(yùn)算 sex = int(id_card[-2]) # 如果sex除以2余數(shù)不等于0,則sex為奇數(shù),奇數(shù)代表男性 if sex%2 != 0 : print("性別:男") else: print("性別:女")
【終端輸出】
性別:女
sex%2 != 0
表示變量sex除以2余數(shù)不等于0。!=
表示不等于。==
表示等于。
【參考答案2】
# 用input函數(shù)從終端獲取身份證號(hào)碼 id_card = input("請(qǐng)輸入18位身份證號(hào)碼:") # 從字符串中取出代表性別的數(shù)字并賦值給變量sex # input函數(shù)得到的是字符串類型,因此我用int函數(shù)將其轉(zhuǎn)換為整數(shù)類型,方便后面進(jìn)行數(shù)學(xué)運(yùn)算 sex = int(id_card[-2]) # 如果sex除以2余數(shù)等于0,則sex是偶數(shù),偶數(shù)代表女性 if sex%2 == 0 : print("性別:女") else: print("性別:男")
【終端輸出】
性別:女
題目要求:從【牛奶:¥69,$10】句子中取出代表人民幣和美元的符號(hào)。
上述語句的意思是牛奶的價(jià)格是69元或10美元。
- ¥是人民幣符號(hào)。
- $是美元符號(hào)。
【參考答案】
# 將題目給的語句賦值給變量str_1 str_1 = "牛奶:¥69,$10" # 提取字符串的第4個(gè)字符,第4個(gè)字符索引為3 RMB = str_1[3] # 提取字符串的倒數(shù)第3個(gè)字符,并賦值給變量dollar dollar = str_1[-3] # 用print函數(shù)輸出提取到的字符 print(RMB) print(dollar)
【終端輸出】
¥
$
dollar[?d?l?]:美元。
【備注】本文圖片來自關(guān)東升的《看漫畫學(xué)Python》。
6. 總結(jié)
到此這篇關(guān)于python 字符串索引取值的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)python字符串索引取值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?matplotlib實(shí)現(xiàn)折線圖的繪制
Matplotlib作為Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺(tái)的交互式環(huán)境生成出版質(zhì)量級(jí)別的圖形。本文將利用Matplotlib庫繪制折線圖,感興趣的可以了解一下2022-03-03Python實(shí)現(xiàn)讀取Linux系統(tǒng)的CPU以及內(nèi)存占用
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)Linux系統(tǒng)的CPU以及內(nèi)存占用,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以收藏一下2023-05-05Python使用正則實(shí)現(xiàn)計(jì)算字符串算式
這篇文章主要介紹了Python使用正則實(shí)現(xiàn)計(jì)算字符串算式的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12python的數(shù)據(jù)與matlab互通問題:SciPy
這篇文章主要介紹了python的數(shù)據(jù)與matlab互通問題SciPy,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12詳解Python如何使用Self類型實(shí)現(xiàn)返回類的實(shí)例對(duì)象
在 Python 中,類方法通常會(huì)返回類的實(shí)例對(duì)象,本文將詳細(xì)介紹如何在 Python 中使用 Self 類型來返回類的實(shí)例對(duì)象,并提供豐富的示例代碼幫助更好地理解,快跟隨小編一起學(xué)習(xí)起來吧2024-02-02python學(xué)習(xí)--使用QQ郵箱發(fā)送郵件代碼實(shí)例
這篇文章主要介紹了python使用QQ郵箱發(fā)送郵件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Python實(shí)現(xiàn)用手機(jī)監(jiān)控遠(yuǎn)程控制電腦的方法
這篇文章主要介紹了Python實(shí)現(xiàn)用手機(jī)監(jiān)控遠(yuǎn)程控制電腦的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04pd.to_datetime中時(shí)間object轉(zhuǎn)換datetime實(shí)例
本文主要介紹了pd.to_datetime中時(shí)間object轉(zhuǎn)換datetime實(shí)例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06python獲取柵格點(diǎn)和面值的實(shí)現(xiàn)
這篇文章主要介紹了python獲取柵格點(diǎn)和面值的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有多幫助。一起跟隨小編過來看看吧2020-03-03