【发布时间】:2020-12-30 08:06:40
【问题描述】:
我从 Python 开始,正在阅读这本书:Automate The Boring Stuff With Python。
我在第 4 章中做一个叫做逗号代码的练习。我应该能够创建一个简单的函数,它可以采用任何列表,无论长度如何,例如['apples','bananas','tofu','cats'] 并输出为:苹果、香蕉、豆腐和猫;能够在最后一个和倒数第二个列表值之间插入单词 and 的键
我写了一些有用的东西(见下文)。但它以新行而不是一行输出值。
'''Practice Projects - Comma Code'''
def commacode(list_range):
for i in range(len(list_range)):
#print(i)
position = len(list_range) - i
#print(position)
list_a = ''
list_b = ''
if position != 1:
#list = ''
list_a += str(list_range[i]) + ','
print(list_a)
else:
list_b += list_a + ' and ' + str(list_range[i])
print(list_a + list_b)
rangeoflist = ['apples','bananas','tofu','cats']
commacode(rangeoflist)
#print(rangeoflist)
如何在一行上获得输出?
谢谢
【问题讨论】:
-
print(rangeoflist[:-1], f'and {rangeoflist [-1]}',sep = ", ")? -
@Patrick Artner。谢谢。这还不错,但它返回一个列表值,因此它看起来仍然像一个列表。输出:['apples', 'bananas', 'tofu'] 和猫。我可能会去掉“]”和“[”
-
print(*rangeoflist[:-1], f'and {rangeoflist [-1]}',sep = ", ")- 错过了一个星号
标签: python python-3.x list string-concatenation