Python 如何使用end='';在打印语句之外

Python 如何使用end='';在打印语句之外,python,Python,有没有一种方法可以将i的所有元素连接在一起。打印时,它似乎可以与end=''函数配合使用。但是,您无法在打印功能之外执行此操作 for i in list(ident.split()): print(i.capitalize(), end='') 语法end=''是传递给print函数的关键字参数。 print函数将接收一个名为end的参数,其值等于' 另一方面,(i.capitalize(),end='')会引发一个SyntaxError,因为Python在错误的位置看到赋值 pri

有没有一种方法可以将i的所有元素连接在一起。打印时,它似乎可以与end=''函数配合使用。但是,您无法在打印功能之外执行此操作

for i in list(ident.split()):
    print(i.capitalize(), end='')
语法
end=''
是传递给
print
函数的关键字参数。
print
函数将接收一个名为
end
的参数,其值等于
'

另一方面,
(i.capitalize(),end='')
会引发一个
SyntaxError
,因为Python在错误的位置看到赋值

print
函数将在控制台中打印第一个参数,并将打印作为
end
关键字参数传递的字符串。 因此,当迭代列表并使用
end='x'
打印元素时,输出看起来就像列表中的元素字符串,用
'x'
分隔。 然而,实际上并没有构建这样的字符串

您需要的是
join
string方法。 应在用作分隔符的字符串上调用它,其参数应为要联接的字符串的iterable

您的打印循环是:

for i in list(ident.split()):
    ident = (i.capitalize(), end='') #SyntaxError: invalid syntax
等效字符串将通过以下方式创建:

for i in list(ident.split()):
    print(i.capitalize(), end='')
如果您不熟悉生成器表达式和理解,这相当于:

s = ''.join(i.capitalize() for i in list(ident.split()))

顺便说一下,
str.split
返回一个列表,因此您不需要将其转换为列表。你应该用
ident.split()
替换
list(ident.split())

你能显示你的输入和预期输出吗?请重新表述你的问题,因为现在完全不清楚你想要实现什么。你使用的
end
print
函数的一个参数。不清楚您希望它在其他上下文中做什么。您的意思是我猜是“”。join(map(str.capitalize,ident.split())?但是,我认为您只需要ident.title()来大写每个word@jamesjake您应该只使用
ident.title()
probably@Chris_Rands在这种情况下,我同意。我必须承认我不知道
标题
方法。。。
l = []
for i in list(ident.split()):
    l.append(i.capitalize())
s = ''.join(l)