[英]Python - Proper syntax for 1 line if-else satement
作為序言,我對編程很陌生,所以請耐心等待。
我在編寫 function 的語法時遇到問題,我希望它檢查已導入和排序的文本文件中的重復值。 我想用下面的代碼做到這一點:
def kollaDublett(dataList):
c = Counter(dataList)
result = [x for x, v in c.items() if v > 1]
dataList 是我正在檢查重復項的列表,我想以某種方式嵌入一個if-else
以返回定義result
的 True 或 False。 這項任務的指導員說可以單行完成,但她無法真正完成,因為她在 Python 方面沒有太多經驗。
我可以返回result
並打印它的值,它會顯示重復項,但正如我所提到的,我希望它檢查是否存在重復項,然后取決於返回 True 或 False。
提前致謝!
針對您的問題,使用any
,您可以編寫:
def kollaDublett(dataList):
c = Counter(dataList)
return any((x for x,v in c.items() if v > 1))
通常回答關於“1 line if-else
statement”的標題問題,您可能需要查看三元運算符。
如果您只想要一個 True/False 列表,您可以使用列表推導:
def kollaDublett(dataList):
c = Counter(dataList)
result = [True if v > 1 else False for x, v in c.items()]
return result
相反,要返回字典(表達式:是否重復):
def kollaDublett(dataList):
c = Counter(dataList)
result = {x:(True if v > 1 else False) for x, v in c.items()}
return result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.