Python anlamalarını öğrenen bazı öğretici alıştırmalar üzerinde çalışıyorum. Ben (0,0,0) önemsiz örnek hariç - sıfıra toplanan verilen bir sette tüm sayı kombinasyonlarının 3-tuple döndüren bir anlama inşa etmek istedim.filtreleme python listesi anlaşmaları
Ben bu geldi:
def tupleNonTrivialSumation(s):
'''return a 3-tuple of x,y,z : x+y+z=0 & the list does not contain (0,0,0)'''
return tuple([(x,y,z) for x in s for y in s for z in s if x+y+z==0 if abs(x)+abs(y)+abs(z)!=0])`
bunu yazmak için daha kısa bir yol var? x, y, z toplamının sıfır olup olmadığını kontrol etmenin daha iyi bir yolu olmalı gibi görünüyor. sırası önemli değilse
'[... eğer toplam (alt) == 0 ve alt! = (0, 0, 0)]'? "(0,0,0) 'un önemsiz örneğini hariç tutmanız gerekmiyor mu? – Alexander
@Alexander Evet, tabi. – Kasramvd