代码:
fullname = "John Doe"
namelist = fullname.split()
for word in namelist:
print word[:2].lower(),
输出:
jo do
我希望它输出:
jodo
欢迎任何和所有建议:)
答案 0 :(得分:4)
逗号创建一个空格。尝试创建列表理解并将其与空字符串连接:
>>> print "".join(word[:2].lower() for word in namelist)
jodo
了解它如何以较小的步骤工作:
>>> firsts = [word[:2].lower() for word in namelist]
>>> firsts
['jo', 'do']
>>> print "".join(firsts)
jodo
答案 1 :(得分:2)
print
"魔术逗号"总是插入空格,所以你不能这样做。
您有三种选择:
print ''.join(word[:2].lower() for word in namelist)
。stdout
,而不是使用print
:sys.stdout.write(word[:2].lower())
print
,可以以这种方式执行操作。首先,代码顶部的from __future__ import print_function
。然后,print(word[:2].lower(), end='')
。答案 2 :(得分:0)
>>> fullname = "John Doe"
>>> words = fullname.lower().split()
>>> words
['john', 'doe']
>>> print("".join(x[:2] for x in words))
jodo
[:2]选择前两个字母。 lower
将它们转换为小写。使用+
可以连接字符串。
python 2.x:
>>> print "".join(x[:2] for x in words)
答案 3 :(得分:0)
print function from Python 3有一个参数sep
(对于" separator"),可以设置为空字符串。使用它并使用*
运算符指定传入可变数量的参数:
from __future__ import print_function
fullname = "John Doe"
words = (word[:2].lower() for word in fullname.split())
print(*words, sep='')