在Python中比較列表中的相鄰元素的幾種方法
在Python中比較列表中的每個連續(xù)對
Python Lists為我們提供了幾組方法和庫,可以幫助我們比較相鄰的元素。要比較列表中的相鄰元素,通常在訪問連續(xù)元素對時遍歷列表。這可以使用循環(huán)或列表解析來完成。
例如:
Input: [1, 2, 2, 3, 4, 4, 5] Output : 1 2 False 2 2 True 2 3 False 3 4 False 4 4 True 4 5 False
現(xiàn)在,讓我們一起看看幾種不同的方法,以便更好地理解代碼示例。
1. 使用For循環(huán)
在這個方法中,我們將使用一個簡單的for循環(huán)遍歷列表中的每個元素。我們將使用索引來比較第i個位置的元素和第(i+1)個位置的元素。
# function for comparision def compare(my_list): for i in range(len(my_list)-1): # comparision between adjacant elements print(my_list[i], my_list[i+1], " ", my_list[i] == my_list[i+1]) # number list compare([1, 2, 2, 3, 4, 4, 5])
輸出
1 2 False 2 2 True 2 3 False 3 4 False 4 4 True 4 5 False
2. 使用列表解析
在這個方法中,我們將執(zhí)行相同的方法,但這次我們將使用列表解析技術(shù)。
# function for comparision def compare(my_list): # comparision between adjuscant elements newList = [[my_list[i], my_list[i+1], my_list[i] == my_list[i+1]] for i in range(len(my_list)-1)] for i in newList: print(i[0], i[1], " ", i[2]) # string list compare(['XFG','xfg','Coding','Apple','Python','Python'])
輸出
XFG xfg False xfg Coding False Coding Apple False Apple Python False Python Python True
3. 使用itertools函數(shù)
itertools是一個標(biāo)準(zhǔn)的Python庫,它為我們提供了許多創(chuàng)建和使用迭代器的方法。我們將使用itertools庫函數(shù)中的一個pairwise函數(shù)。讓我們看看代碼,以便更好地理解函數(shù)的工作原理。
# importing the pariwise function from itertools import pairwise def compare(my_list): #getting all the pairs and iterating over them for i, j in pairwise(my_list): #displaying the result print (i, j, " ", i==j) # number list compare([1, 2, 2, 3, 4, 4, 5])
輸出
1 2 False 2 2 True 2 3 False 3 4 False 4 4 True 4 5 False
4. 使用zip方法
zip()方法用于將多個迭代器(如列表,集合,字典等)組合成一個元組的迭代器。在此方法中,我們將使用zip函數(shù)并創(chuàng)建給定列表的第i個元素和第(i+1)個元素的元組。讓我們看看代碼實(shí)現(xiàn)以更好地理解。
def compare(my_list): #getting all the pairs and iterating over them for i, j in zip(my_list, my_list[1:]): #displaying the result print (i,j," ",i==j) # number list compare([1, 2, 2, 3, 4, 4, 5])
輸出
1 2 False 2 2 True 2 3 False 3 4 False 4 4 True 4 5 False
到此這篇關(guān)于在Python中比較列表中的相鄰元素的幾種方法的文章就介紹到這了,更多相關(guān)Python比較列表中的相鄰元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Tensorflow 利用tf.contrib.learn建立輸入函數(shù)的方法
這篇文章主要介紹了Tensorflow 利用tf.contrib.learn建立輸入函數(shù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02python3+PyQt5重新實(shí)現(xiàn)自定義數(shù)據(jù)拖放處理
這篇文章主要為大家詳細(xì)介紹了python3+PyQt5重新實(shí)現(xiàn)自定義數(shù)據(jù)拖放處理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04實(shí)現(xiàn)python版本的按任意鍵繼續(xù)/退出
本文給大家簡單介紹了在windows以及l(fā)inux下實(shí)現(xiàn)python版本的按任意鍵繼續(xù)/退出功能,非常的簡單實(shí)用,linux下稍微復(fù)雜些,有需要的小伙伴可以參考下2016-09-09PyTorch使用tensorboard的SummaryWriter報錯問題解決方案
PyTorch使用tensorboard可以顯示網(wǎng)絡(luò)運(yùn)行情況,但偶爾使用SummaryWriter時遇到Segmentation fault錯誤,這篇文章主要介紹了PyTorch使用tensorboard的SummaryWriter報錯問題解決方案,需要的朋友可以參考下2024-06-06OPENCV去除小連通區(qū)域,去除孔洞的實(shí)例講解
今天小編就為大家分享一篇OPENCV去除小連通區(qū)域,去除孔洞的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06