在python的可序列化的數(shù)據(jù)處理中,我們經(jīng)常性的會采用range()函數(shù)進行數(shù)據(jù)處理,。
enumerate多用于在for循環(huán)中得到計數(shù),,利用它可以同時獲得索引和值,即需要index和value值的時候可以使用enumerate()函數(shù),。
當(dāng)然,,同樣的需求使用range()函數(shù)也可以實現(xiàn),只是步驟會比較繁復(fù),,可以看下面的一組可序列化數(shù)據(jù)的處理比較,。
# Creating a list of strings.
list_ = ['Java', 'Python', 'C', 'C++', 'C#', 'Scala', 'JavaScript']
使用range()函數(shù)處理索引和值
for index in range(len(list_)):
value = list_[index]
print('索引:{0},值:{1}'.format(index, value))
# 索引:0,,值:Java
# 索引:1,,值:Python
# 索引:2,值:C
# 索引:3,,值:C++
# 索引:4,,值:C#
# 索引:5,值:Scala
# 索引:6,,值:JavaScript
使用enumerate()函數(shù)處理索引和值
for index, value in enumerate(list_):
print('索引:{0},,值:{1}'.format(index, value))
# 索引:0,值:Java
# 索引:1,,值:Python
# 索引:2,,值:C
# 索引:3,值:C++
# 索引:4,,值:C#
# 索引:5,,值:Scala
# 索引:6,值:JavaScript
根據(jù)上面的代碼塊結(jié)果得知,,處理同樣邏輯的序列化數(shù)據(jù)enumerate函數(shù)的方式確實比較簡便一些,。
此外,在處理序列化的數(shù)據(jù)時可以個性化的定義遍歷索引的起始位置,。
for index, value in enumerate(list_, start=3):
print('索引:{0},,值:{1}'.format(index, value))
# 索引:3,值:Java
# 索引:4,值:Python
# 索引:5,,值:C
# 索引:6,,值:C++
# 索引:7,值:C#
# 索引:8,,值:Scala
# 索引:9,,值:JavaScript
注意:這里我們來看一下被enumerate函數(shù)處理過的list_變成了什么?
# Printing the result of the enumerate function.
print('list_對象轉(zhuǎn)換后結(jié)果:', enumerate(list_))
# list_對象轉(zhuǎn)換后結(jié)果: <enumerate object at 0x00000176E63A9480>
若是正常情況下打印的list_應(yīng)該是一個數(shù)據(jù)的列表,,而這里則是被轉(zhuǎn)換為enumerate管理了,。
enumerate函數(shù)是支持所有序列化數(shù)據(jù)的,即列表,、字典,、字符串等等都是可以支持的。
并且enumerate本身作為python的內(nèi)置函數(shù)自然有他強大的理由,,方便我們使用,,下面展示一下另外幾種序列化數(shù)據(jù)的操作。
enumerate遍歷字符串
# Creating a string object.
str_ = 'Python 集中營'
for index, value in enumerate(str_):
print('索引:{0},,值:{1}'.format(index, value))
# 索引:0,,值:P
# 索引:1,值:y
# 索引:2,,值:t
# 索引:3,,值:h
# 索引:4,值:o
# 索引:5,,值:n
# 索引:6,,值:
# 索引:7,值:集
# 索引:8,,值:中
# 索引:9,,值:營
enumerate遍歷字典
# Creating a dictionary object.
dict_ = {'name': 'Python 集中營','age': 2,'表現(xiàn)': 'sss+'}
for index, key in enumerate(dict_):
print('索引:{0},鍵:{1},,值:{2}'.format(index, key, dict_[key]))
# 索引:0,,鍵:name,,值:Python 集中營
# 索引:1,,鍵:age,值:2
# 索引:2,,鍵:表現(xiàn),,值:sss+