我正在嘗試使用Python格式化整數列表,並且遇到了一些困難,實現了我想要的功能。格式化連續號碼
輸入是整數的排序列表:
list = [1, 2, 3, 6, 8, 9]
我想它的輸出是一個字符串看起來像這樣:
outputString = "1-3, 6, 8-9"
到目前爲止,所有我設法實現是這樣的:
outputString = "1-2-3, 6, 8-9"
我很難告訴我的代碼忽略一個Int如果它已經是連續的。
這裏是我到目前爲止的代碼:
def format(l):
i = 0
outputString = str(l[i])
for x in range(len(l)-1):
if l[i + 1] == l[i]+1 :
outputString += '-' + str(l[i+1])
else :
outputString += ', ' + str(l[i+1])
i = i + 1
return outputString
感謝您的幫助和見解:)
我前段時間處理同樣的問題。不幸的是我現在找不到代碼。但是我記得,已經決定「8,9」比「8-9」更具人類可讀性,所以我們只對3個和更多連續的整數使用倒數第一個符號。 – VPfB