如何加入列表元素成字符串?



我这里有一个列表,我只需要输入10个字母或字符串。我在分隔列表时遇到问题。

print ("Please input letter: n")
num_string = []
num = 10
for i in range (0,num):
element = str(input(str(i + 1) + ". "))
num_string.append(element)
string = ' '.join([str(item) for item in num_string])
print (string)
例如,在我的代码中,因为只有10个输入,所以我输入了a b c de f h I j。因为我使用了连接方法,所以没有输出像a b c d e f h i j这样的输出,我希望每个列表都有一个换行符。所以我想把它写成

b

c

d

e

f

g

h

j

您几乎就在那里,而不是加入空格,加入换行符,也不需要将每个元素转换为字符串,因为每个元素已经是字符串了,因为input总是返回字符串(在Python3中)(所以这是多余的:str(input()),它与:input()完全相同):

string = 'n'.join(num_string)

完整示例(去掉冗余的str):

print("Please input letter: n")
num_string = []
num = 10
# the 0 isn't necessary either but
# I guess for clarification it can stay
for i in range(0, num):
element = input(str(i + 1) + ". ")
num_string.append(element)
string = 'n'.join(num_string)
print(string)

或者你可以这样使用(而不是上面代码示例中的最后两行):

print(*num_string, sep='n')

如果你真的想缩短代码(可以短到3行):

print("Please input letter: n")
num = 10
print('n'.join(input(f'{i + 1}. ') for i in range(num)))
print ("Please input letter: n")
num_string = []
num = 10
for i in range (0,num):
element = str(input(str(i + 1) + ". "))
num_string.append(element)
string = 'n' .join([str(item) for item in num_string])
print (string)

使用'n',它就像输出中的一个断点

最新更新