網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
列表(List) 的三種遍歷(序號(hào)和值)方法
if __name__ == '__main__':
list = ['html', 'js', 'css', 'python']
for i in list:
print(list.index(i), i)
# 方法1
print( '遍歷列表方法1:')
for i in list:
print ("序號(hào):%s 值:%s" % (list.index(i) + 1, i))
print ('\n遍歷列表方法2:')
# 方法2
for i in range(len(list)):
print ("序號(hào):%s 值:%s" % (i + 1, list[i]))
# 方法3
print ('\n遍歷列表方法3:')
for i, val in enumerate(list):
print ("序號(hào):%s 值:%s" % (i + 1, val))
# 方法3
print( '\n遍歷列表方法3 (設(shè)置遍歷開(kāi)始初始位置,只改變了起始序號(hào)):')
for i, val in enumerate(list, 2):
print ("序號(hào):%s 值:%s" % (i + 1, val))
def printPoem():
print("hello poem")
name = '晏殊'
poem = ''' 一曲新詞酒一杯,去年天氣舊亭臺(tái)。夕陽(yáng)西下幾時(shí)回?無(wú)可奈何花落去,似曾相識(shí)燕歸來(lái)。小園香徑獨(dú)徘徊。'''
print(name, poem)
printPoem()
if __name__ == '__main__':
print("hello poem")
name = '晏殊'
poem = '''
一曲新詞酒一杯,去年天氣舊亭臺(tái)。
夕陽(yáng)西下幾時(shí)回?無(wú)可奈何花落去,
似曾相識(shí)燕歸來(lái)。小園香徑獨(dú)徘徊。 '''
print(name, poem)
print(name)
print(poem)
if __name__ == '__main__': ?這一句相當(dāng)于c/c++中的main()函數(shù)。
Python遍歷整個(gè)列表
我們經(jīng)常需要遍歷列表的所有元素,對(duì)每個(gè)元素執(zhí)行相同的操作。
例如,在游戲中,可能需要將每個(gè)界面元素平移相同的距離;對(duì)于包含數(shù)字的列表,可能需要對(duì)每個(gè)元素執(zhí)行相同的統(tǒng)計(jì)運(yùn)算;在網(wǎng)站中,可能需要顯示文章列表中的每個(gè)標(biāo)題。需要對(duì)列表中的每個(gè)元素執(zhí)行相同的操作時(shí),可使用python中的for循環(huán)
建立一個(gè)魔術(shù)師名單并打印
magicians=['alice','david','carolina']
for magician in magicians:
? ? print(magician)
1.深入地研究循環(huán)
上述代碼中,python會(huì)先讀取for循環(huán)的第一行代碼:
這行代碼讓python獲取列表magicians中第一個(gè)值’alice‘,并將其儲(chǔ)存到變量magician中
接下來(lái)讀取下一行代碼:
讓python打印magician的值,然后返回for循環(huán)的第一行
python獲取列表中的下一個(gè)元素,儲(chǔ)存到變量magician中,再執(zhí)行第二代碼
依次類(lèi)推
另外編寫(xiě)for循環(huán)時(shí),對(duì)于用于儲(chǔ)存列表中每個(gè)值的臨時(shí)變量,可以指定任何名稱(chēng)
例如對(duì)于小貓列表、小狗列表和一般性列表,可以像下面這樣編寫(xiě)for循環(huán)的第一行代碼
for cat in cats:
for dog in dogs:
for item in list_of_items:
這些命名約定有助于明白for循環(huán)中將對(duì)每個(gè)元素執(zhí)行的操作
使用單數(shù)還是復(fù)數(shù)式名稱(chēng),可以幫助判斷代碼段處理的是單個(gè)列表元素還是整個(gè)列表
2.在for循環(huán)中執(zhí)行更多的操作
在for循環(huán)中,可對(duì)列表每個(gè)元素進(jìn)行任何操作
對(duì)每一位魔術(shù)師都打印一條消息,指出他的表演很精彩
print(magician.title()+',that was a great trick!')
在for循環(huán)中,想包含多少行代碼都行。
在代碼行for magician in magicians后,每個(gè)縮進(jìn)的的代碼行都是循環(huán)的一部分,且針對(duì)列表中的每個(gè)值都執(zhí)行一次。因此,可對(duì)列表中的每個(gè)值執(zhí)行任意次數(shù)的操作
再添加一行代碼,告訴每個(gè)魔術(shù)師,我們期待他的下一次表演
print("I can't wait to see your next trick,"+magician.title()+'.\n')
上述代碼的運(yùn)行結(jié)果為
alice
Alice,that was a great trick!
I can't wait to see your next trick,Alice.
?
david
David,that was a great trick!
I can't wait to see your next trick,David.
?
carolina
Carolina,that was a great trick!
I can't wait to see your next trick,Carolina.
3.在for循環(huán)結(jié)束后執(zhí)行一些操作
通常你需要提供總結(jié)性輸出或接著執(zhí)行程序必須完成的其它任務(wù)。在for循環(huán)之后,沒(méi)有縮進(jìn)的代碼都只執(zhí)行一次,而不會(huì)重復(fù)執(zhí)行。
在下面打印出來(lái)一條向全體魔術(shù)師致謝的消息,感謝他們的精彩表演
print("Thank you, everyone. That was a great magic show!")
運(yùn)行結(jié)果
Thank you, everyone. That was a great magic show!
使用for循環(huán)處理數(shù)據(jù)是一種對(duì)數(shù)據(jù)集整體操作的不錯(cuò)的方式。例如你可以使用for循環(huán)來(lái)初始化游戲——遍歷所有角色,將每個(gè)角色都顯示到屏幕上:再在循環(huán)后面添加一個(gè)不縮進(jìn)的代碼塊。在屏幕上繪制所有角色后顯示一個(gè)play now按鈕
原文鏈接:https://blog.csdn.net/moonlightpeng/article/details/86516414
相關(guān)推薦
- 2022-06-01 Kubernetes集群的組成介紹_云和虛擬化
- 2022-03-25 Redis分布式鎖如何實(shí)現(xiàn)續(xù)期_Redis
- 2022-09-08 C++實(shí)現(xiàn)Dijkstra算法的示例代碼_C 語(yǔ)言
- 2022-05-11 RestTemplate的post使用,token調(diào)用
- 2022-06-18 Elasticsearch之文檔批量操作示例_其它綜合
- 2022-11-15 python重用父類(lèi)功能的兩種方式實(shí)例詳解_python
- 2022-02-07 解決 laravels 無(wú)法接收微信回調(diào)的參數(shù)問(wèn)題
- 2022-06-21 C語(yǔ)言超全面講解函數(shù)的使用方法上_C 語(yǔ)言
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支