python数组遍历输出所有组合_python遍历列表和数组实例讲解
python遍歷實例總結
python同時遍歷數組的索引和值的實例
你想在迭代一個序列的同時跟蹤正在被處理的元素索引。
獲取索引
內置的 enumerate() 函數可以很好的解決這個問題:
>>> my_list = ['a', 'b', 'c']
>>> for idx, val in enumerate(my_list):
... print(idx, val)
...
0 a
1 b
2 c
行號從1開始
為了按傳統行號輸出(行號從1開始),你可以傳遞一個開始參數:
>>> my_list = ['a', 'b', 'c']
>>> for idx, val in enumerate(my_list, 1):
... print(idx, val)
...
1 a
2 b
3 c
行號定位
這種情況在你遍歷文件時想在錯誤消息中使用行號定位時候非常有用:
def parse_data(filename):
with open(filename, 'rt') as f:
for lineno, line in enumerate(f, 1):
fields = line.split()
try:
count = int(fields[1])
...
except ValueError as e:
print('Line {}: Parse error: {}'.format(lineno, e))
enumerate() 對于跟蹤某些值在列表中出現的位置是很有用的。 所以,如果你想將一個文件中出現的單詞映射到它出現的行號上去,可以很容易的利用 enumerate() 來完成:
word_summary = defaultdict(list)
with open('myfile.txt', 'r') as f:
lines = f.readlines()
for idx, line in enumerate(lines):
# Create a list of words in current line
words = [w.strip().lower() for w in line.split()]
for word in words:
word_summary[word].append(idx)
如果你處理完文件后打印 word_summary ,會發現它是一個字典(準確來講是一個 defaultdict ), 對于每個單詞有一個 key ,每個 key 對應的值是一個由這個單詞出現的行號組成的列表。 如果某個單詞在一行中出現過兩次,那么這個行號也會出現兩次, 同時也可以作為文本的一個簡單統計。
計數變量
當你想額外定義一個計數變量的時候,使用 enumerate() 函數會更加簡單。你可能會像下面這樣寫代碼:
lineno = 1
for line in f:
# Process line
...
lineno += 1
但是如果使用 enumerate() 函數來代替就顯得更加優雅了:
for lineno, line in enumerate(f):
# Process line
...
enumerate() 函數返回的是一個 enumerate 對象實例, 它是一個迭代器,返回連續的包含一個計數和一個值的元組, 元組中的值通過在傳入序列上調用 next() 返回。
陷阱
還有一點可能并不很重要,但是也值得注意, 有時候當你在一個已經解壓后的元組序列上使用 enumerate() 函數時很容易調入陷阱。 你得像下面正確的方式這樣寫:
data = [ (1, 2), (3, 4), (5, 6), (7, 8) ]
# Correct!
for n, (x, y) in enumerate(data):
...
# Error!
for n, x, y in enumerate(data):
...
參考:
python通過索引遍歷列表的方法
Python推薦資源:
Python編程基礎
本文實例講述了python通過索引遍歷列表的方法。分享給大家供大家參考。具體如下:
python中我們可以通過for循環來遍歷列表:
colours = ["red","green","blue"]
for colour in colours:
print colour
如果希望遍歷列表的同時得到元素的索引號,可以使用下面的代碼:
colours = ["red","green","blue"]
for i, colour in enumerate(colours):
print i, colour
希望本文所述對大家的Python程序設計有所幫助。
Python實現帶下標索引的遍歷操作示例
Python推薦資源:
Python高級編程
本文實例講述了Python實現帶下標索引的遍歷操作。分享給大家供大家參考,具體如下:
代碼如下:
#coding=utf-8
#python - 實現帶下標索引的遍歷.
str = 'abcdefghigklmn'
#方式一:for
i = 0
for ch in str:
print('%d\t%s'%(i,ch))
i+=1
print('-'*50)
#方式二:enumerate()
for i,ch in enumerate(str):
print i,ch
運行結果:
0?? a
1?? b
2?? c
3?? d
4?? e
5?? f
6?? g
7?? h
8?? i
9?? g
10? k
11? l
12? m
13? n
--------------------------------------------------
0 a
1 b
2 c
3 d
4 e
5 f
6 g
7 h
8 i
9 g
10 k
11 l
12 m
13 n
希望本文所述對大家Python程序設計有所幫助。
以上就是本次給大家分享的關于java的全部知識點內容總結,大家還可以在下方相關文章里找到相關文章進一步學習,感謝大家的閱讀和支持。
總結
以上是生活随笔為你收集整理的python数组遍历输出所有组合_python遍历列表和数组实例讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java怎么递归_Java的递归、如何与
- 下一篇: 【Python基础知识-pycharm版