for i in list(ident.split()):
print(i.capitalize(), end='')
有没有办法将我的所有元素加在一起。它似乎与end =''打印时的功能。虽然,您无法在打印功能之外执行此操作。
for i in list(ident.split()):
ident = (i.capitalize(), end='') #SyntaxError: invalid syntax
答案 0 :(得分:1)
语法end=''
是传递给print
函数的关键字参数。
print
函数将收到名为end
的参数,其值等于''
。
另一方面,(i.capitalize(), end='')
会引发SyntaxError
,因为Python会在错误的位置看到分配。
print
函数将在控制台中打印第一个参数,并将打印作为end
关键字参数传递的字符串。
因此,当迭代列表并使用end='x'
打印元素时,输出看起来像列表元素的字符串,用'x'
分隔。
但是,实际上没有构建这样的字符串。
你想要的是join
字符串方法。
应该在用作分隔符的字符串上调用它,并且它的参数应该是要连接的字符串的可迭代。
您的打印循环是:
for i in list(ident.split()):
print(i.capitalize(), end='')
将通过以下方式创建等效字符串:
s = ''.join(i.capitalize() for i in list(ident.split()))
如果您不熟悉生成器表达式和理解,这相当于:
l = []
for i in list(ident.split()):
l.append(i.capitalize())
s = ''.join(l)
顺便说一句,str.split
会返回一个列表,因此您无需将其转换为列表。您应该list(ident.split())
替换ident.split()
。