python for循環
格式:
for iterating_var in sequence:
statements(s)
########################################
可多層嵌套
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
for iterating_var in sequence:
...
statements(s)
for循環可以遍歷任何序列的項目,如一個列表或者一個字符串
常用函數
enumerate()
函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。
對於字典,返回key的下標(無序)和key本身的值.不常用
對於字典,返回key的下標和key本身的值
info = {'name':'lijiang', 'age':0, 'a':100}
print(info)
for key, valuel in enumerate(info):
print(key, valuel)
執行
C:\Python27\python.exe D:/Python/type-of-data.py
{'a': 100, 'age': 0, 'name': 'lijiang'}
(0, 'a')
(1, 'age')
(2, 'name')
Process finished with exit code 0
############################################################################
對於更序列(列表、元組或字符串),返回下標及下標對應的值,以字符串為例:
name = 'lijiang'
for key, valuel in enumerate(name):
print(key, valuel)
執行
C:\Python27\python.exe D:/Python/type-of-data.py
(0, 'l')
(1, 'i')
(2, 'j')
(3, 'i')
(4, 'a')
(5, 'n')
(6, 'g')
Process finished with exit code 0
iteritems()
迭代輸出字典的鍵值對,類似於enumerate(),僅適用於字典
info = {'name':'lijiang', 'age':0, 'a':100}
for key, valuel in info.iteritems():
print(key, valuel)
執行:
C:\Python27\python.exe D:/Python/type-of-data.py
('a', 100)
('age', 0)
('name', 'lijiang')
Process finished with exit code 0
range() 和 xrange()
兩個函數均為生在一個有序數列
range() 一次性生成一個列表
xrange() 每次生成一個xrange對象,只有當使用時才會生成
建議使用xrange(),執行效率高
print(range(10))
print(type(range(10)))
print(xrange(10))
print(type(xrange(10)))
執行
C:\Python27\python.exe D:/Python/type-of-data.py
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
<type 'list'>
xrange(10)
<type 'xrange'>
Process finished with exit code 0