我的例子(列表A和B都是一樣大小):Python 3.6 - 是否有一個條件,可以表現得不然?
a = ['12','12','12','12','12','23','24','24','31','31']
b = ['1','2','2','2','2','2','5','5','5','5']
c = a, b
這裏是我的代碼需要像否則情況下,C [0]是,以便代碼只查看通過列表而不是同時列出並打印出符合條件的列表a和b的結果。 此代碼中的其他條件是錯誤的,我想不出一個替代的:
d = list(zip(*[(ai,bi) for ai, bi in zip(a,b) if c[0].count(ai) == 5 else 2]))
e = list(zip(*[(ai,bi) for ai, bi in zip(a,b) if c[0].count(ai) == 7 else 2]))
是否有可能改變的條件,使其打印的5只計數如果在我的例子中超過2個字?或者,如果7是初始計數,但是沒有檢測到,則它僅打印2的計數值?
我想要的結果:
d = [('12','12','12','12','12',), ('1','2','2','2','2')]
e = [('24','24','31','31'), ('5','5','5','5')]
謝謝!
爲什麼'C [0] .Count之間(...)'當你只是可以做'a.count(...)'? –
另請注意,反覆調用count()會很貴*。首先創建一個「Counter()」,然後使用該對象。 –
嗨,我的意思是,代碼將查看列表a並計數是否有5個重複數字。如果有的話,它會打印出5個數字。在另一種情況下,我想看看是否有7個重複數字。如果有,那麼它將打印出7個數字,但如果沒有7個,那麼它將只打印2個數字的數字。 –