Python:字符串连接
Python: String Concatenation
我从 Python 开始阅读这本书:用 Python 自动化无聊的东西。
我正在做第 4 章中的一个练习,叫做逗号代码。我应该能够创建一个简单的函数,无论长度如何,它都可以接受任何列表,例如['apples','bananas','tofu','cats'] 输出为:apples, bananas, tofu, and cats;能够在最后一个和倒数第二个列表值
之间插入单词 和 的键
我写了一些有用的东西(见下文)。但它以新行而不是一行输出值。
'''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','bananas','tofu','cats']
print(','.join(rangeoflist[:-1]) + ' and ' + rangeoflist[-1])
打印:
apples,bananas,tofu and cats
Python 对于字符串来说非常优雅。我使用 join
和数组切片。
rangeoflist = ['apples','bananas','tofu','cats']
solution = " and ".join([", ".join(rangeoflist[:-1]), rangeoflist[-1]])
print(solution)
这就是您需要的全部代码。
我从 Python 开始阅读这本书:用 Python 自动化无聊的东西。
我正在做第 4 章中的一个练习,叫做逗号代码。我应该能够创建一个简单的函数,无论长度如何,它都可以接受任何列表,例如['apples','bananas','tofu','cats'] 输出为:apples, bananas, tofu, and cats;能够在最后一个和倒数第二个列表值
之间插入单词 和 的键我写了一些有用的东西(见下文)。但它以新行而不是一行输出值。
'''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','bananas','tofu','cats']
print(','.join(rangeoflist[:-1]) + ' and ' + rangeoflist[-1])
打印:
apples,bananas,tofu and cats
Python 对于字符串来说非常优雅。我使用 join
和数组切片。
rangeoflist = ['apples','bananas','tofu','cats']
solution = " and ".join([", ".join(rangeoflist[:-1]), rangeoflist[-1]])
print(solution)
这就是您需要的全部代码。