您好,登錄后才能下訂單哦!
這篇文章給大家分享的是Python并行遍歷zip和遍歷可迭代對象map、filter函數的實現過程。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
一、使用內置函數zip并行遍歷
zip()的目的是映射多個容器的相似索引,以便它們可以僅作為單個實體使用。
● 基礎語法:zip(*iterators)
● 參數:iterators為可迭代的對象,例如list,string
● 返回值:返回單個迭代器對象,具有來自所有容器的映射值
''' 例如: 有兩個列表 names = ['zhangsan','lisi','wangwu'] ages = [17,18,19] zhangsan對應17 lisi對應18 wangwu對應19 同時遍歷這兩個列表 ''' # 1、使用for in 循環可以實現 names = ['zhangsan','lisi','wangwu'] ages = [17,18,19] for i in range(3): print('name is %s,age is %i' % (names[i],ages[i])) ''' name is zhangsan,age is 17 name is lisi,age is 18 name is wangwu,age is 19 ''' # 2、使用 zip進行并行遍歷更方便 for name,age in zip(names,ages): print('name is %s,age is %i' % (name,age)) ''' name is zhangsan,age is 17 name is lisi,age is 18 name is wangwu,age is 19 '''
二、遍歷可迭代對象的內置函數map
map()函數的主要作用是可以把一個方法依次執行在一個可迭代的序列上,比如List等,具體的信息如下:
● 基礎語法:map(fun, iterable)
● 參數:fun是map傳遞給定可迭代序列的每個元素的函數。iterable是一個可以迭代的序列,序列中的每一個元素都可以執行fun
● 返回值:map object
result = map(ord,'abcd') print(result) # <map object at 0x7f1c493fc0d0> print(list(result)) # [97, 98, 99, 100] result = map(str.upper,'abcd') print(tuple(result)) # 'A', 'B', 'C', 'D')
三、遍歷可迭代對象的內置函數filter
filter()方法借助于一個函數來過濾給定的序列,該函數測試序列中的每個元素是否為真。
● 基礎語法:filter(fun, iterable)
● 參數:fun測試iterable序列中的每個元素執行結果是否為True,iterable為被過濾的可迭代序列
● 返回值:可迭代的序列,包含元素對于fun的執行結果都為True
result = filter(str.isalpha,'123abc') print(result) # <filter object at 0x7fd47f2045d0> print(list(result)) # ['a', 'b', 'c'] result = filter(str.isalnum,'123*(^&abc') print(list(result)) # ['1', '2', '3', 'a', 'b', 'c'] # filter示例 def fun(values): Internal_value = ['i','o','b','c','d','y','n'] if values in Internal_value: return True else: return False test_value = ['i','L','o','v','e','p','y','t','h','o','n'] result = list(filter(fun,test_value)) print(result) # ['i', 'o', 'y', 'o', 'n']
以上就是Python并行遍歷zip和遍歷可迭代對象map、filter函數的實現過程,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎關注億速云行業資訊!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。