spam = ['apples', 'bananas', 'tofu', 'cats']
def stringmaker(data):
tempdata = 0
datastring = ''
stringlist = []
stringdata = ''
stringdata += ', '.join(data)
stringlist += stringdata.split()
tempdata = stringlist
tempdata = str(stringlist.insert(-1, 'and'))
datastring += ' '.join(stringlist)
print(datastring)
stringmaker(spam)
在自動化與Python第102頁,實踐項目逗號碼無聊的東西 - 逗號碼自動化無聊的東西逗號碼
假設你有一個列表值是這樣的:垃圾= [「蘋果」 ,'bananas', 'tofu','cats']編寫一個函數,它將一個列表值作爲參數 並返回一個字符串,其中包含所有由逗號分隔的所有項目和一個空格,並在最後一項之前插入並插入。例如, 將以前的垃圾郵件列表傳遞給該函數將返回'蘋果, 香蕉,豆腐和貓'。但是你的函數應該能夠使用傳遞給它的任何列表值來工作 。
我寫的作品的代碼保留在本章的上下文中。我已經看過在這個網站和谷歌的其他答案,我驚訝於我的代碼是多麼不同也許愚蠢。有人能幫我指出我的代碼的所有壞事嗎?
我真的很喜歡這樣pyyonic和儘可能少的幾行。
如果這是**工作代碼**,你認爲可以改進,參見[codereview.se。但請注意,*「pythonic和幾行」*有時可能會發生衝突。 – jonrsharpe
'data [0] if len(data)== 1 else',and'.join([','.join(data [: - 1]),data [-1]])'我會怎麼做它 –