如何解决Python:字符串串联
我开始使用Python并读完这本书:用Python自动化无聊的东西。
我正在第4章做一个名为“逗号代码”的练习。我应该能够创建一个简单的函数,无论长度如何,都可以接受任何列表[“苹果”,“香蕉”,“豆腐”,“猫”]并输出为:苹果,香蕉,豆腐和猫;能够在最后一个列表值和倒数第二个列表值之间插入单词和的键
我写了一些有用的东西(见下文)。但是它以新行而不是一行输出值。
'''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)
如何在一行上获得输出?
谢谢
解决方法
要在一行中打印句子,请将end=''
添加到第一个print()
:
'''Practice Projects - Comma Code'''
def commacode(list_range):
for i in range(len(list_range)):
position = len(list_range) - i
list_a = ''
list_b = ''
if position != 1:
list_a += str(list_range[i]) + ','
print(list_a,end='') # <-- add end='' here
else:
list_b += list_a + ' and ' + str(list_range[i],)
print(list_a + list_b)
rangeoflist = ['apples','bananas','tofu','cats']
commacode(rangeoflist)
打印:
apples,bananas,tofu,and cats
使用str.join
可以实现更简单的代码。例如:
rangeoflist = ['apples','cats']
print(','.join(rangeoflist[:-1]) + ' and ' + rangeoflist[-1])
打印:
apples,tofu and cats
,
在字符串方面,Python非常优雅。我使用join
和数组切片。
rangeoflist = ['apples','cats']
solution = " and ".join([",".join(rangeoflist[:-1]),rangeoflist[-1]])
print(solution)
这就是您需要的所有代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。