簡體   English   中英

Python列表:檢查所有項目是否相同

[英]Python list: check if all items are the same or not

我有一個 python 字符串列表,想檢查所有列表項值是否相同。

我嘗試使用條件if/then但后來我需要檢查列表值的所有組合,如果列表有很多項目則需要很多硬編碼。

if item1 != item1 and item1 != item2 and item1 !=item2 ....... :
    check='wrong'
else:
    check= 'correct'

輸入:

listOfStrings = ['ep:1000' , 'ep:4444', 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000']

更新

例子:

CORRECT_LIST = ['ep:1000' , 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000']

在正確列表中所有項目的值都相同,那么我的列表是正確的

WRONG_LIST = ['ep:1000' , 'ep:4444', 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000']

WRONG_LIST 中的錯誤列表並不是所有的項目值字符串都是一些

您提供的代碼片段看起來有點奇怪。 但是如果我理解正確的話,您正在嘗試檢查列表中唯一值的數量。

一種方法是將其轉換為集合並檢查其長度。

len(set(listOfStrings))

更新以包含來自@iGian 的工作代碼片段:

check = 'wrong' if len(set(list_of_strings)) > 1 else 'correct'

在正確列表中所有項目的值都相同,那么我的列表是正確的

如果要檢查列表中的所有項目是否相同,可以檢查列表集合的長度是否等於 1:

len(set(listOfStrings)) == 1 

集合的特征是每個元素對於該集合都是唯一的。

這將列表的每個元素與第一個元素進行比較:

listOfStrings = ['ep:1000' , 'ep:4444', 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000']
check = all(x == listOfStrings[0] for x in listOfStrings)

並為您的測試用例返回false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM