3 回答

TA貢獻1836條經(jīng)驗 獲得超3個贊
適合所有人的解決方案可能是用逗號連接項目
print("Most frequent letter \"{}\" appears {} times".format(",".join(max_count_letter_list), max_count))
# Giving
Most frequent letter "A,W" appears 4 times
Most frequent letter "A" appears 4 times
如果你想以不同的方式處理它們,你需要一個條件來分隔大小寫: an if,然后正常編寫或使用內(nèi)聯(lián)模式
# inline
print("Most frequent letter \"{}\" appears {} times".format(letter_list[0] if len(letter_list) == 1 else letter_list, max_count))
# multi-line
if len(letter_list) == 1:
print("Most frequent letter \"{}\" appears {} times".format(letter_list[0], max_count))
else:
print("Most frequent letter \"{}\" appears {} times".format(letter_list, max_count))
縮短前面代碼的解決方案
from itertools import groupby
from operator import itemgetter
g = groupby(sorted_dict.items(), key=itemgetter(1))
max_count, letter_list = next((count, [x[0] for x in vals]) for count, vals in g)

TA貢獻1858條經(jīng)驗 獲得超8個贊
我認為這就是您正在考慮的...根據(jù)列表中的項目數(shù)量以不同方式打印的條件:
max_count_letter_list = ['A', 'W']
max_count = 4
print("Most frequent letter \"{}\" appears {} times".format(max_count_letter_list[0] if len(max_count_letter_list) == 1 else max_count_letter_list, max_count))
max_count_letter_list = ['A']
print("Most frequent letter \"{}\" appears {} times".format(max_count_letter_list[0] if len(max_count_letter_list) == 1 else max_count_letter_list, max_count))
結(jié)果:
Most frequent letter "['A', 'W']" appears 4 times
Most frequent letter "A" appears 4 times

TA貢獻1799條經(jīng)驗 獲得超9個贊
print("Most frequent letter \"{}\" appears {} times"
.format((max_count_letter_list[0] if len(max_count_letter_list) ==1 else max_count_letter_list),
max_count)
我想這就是您正在尋找的。
添加回答
舉報