items = ['red', 'blue', 'green', 'yellow'] result = '' for s in items: result += sPython 提供了一個更有效率的解法
result = ''.join(items)如果字串中間要用逗號跟空白做分隔時,只要改成
result = ', '.join(items)單括號內的字串就是隔開 items 元素的分隔物, 所以如果單括號內是空的,就表示沒有分隔物。 底下介紹上述技巧的應用
colors = ['red', 'blue', 'green', 'yellow'] print 'Choose', ', '.join(colors[:-1]), 'or', colors[-1]colors[:-1] 會傳回一個 list 包含 colors 內的所有元素除了最後一個, 而 colors[-1] 代表 colors 的最後一個元素。 所以執行上面的程式碼會顯示
Choose red, blue, green or yellow假設在把字串接起來之前,想要對字串做一些處理, 比方說轉成大寫,一般的想法是
items = '' for c in colors: items += c.upper()有了 join 之後,也是一行就可完成
items = ''.join(c.upper() for c in colors)眼尖的人會發現上面一行還用了 list comprehensions
PS. Python 的創造者 Guido van Rossum 寫過一篇 最佳化軼事 內容與字串相關,值得一讀。
No comments:
Post a Comment