Python:打印列表中每个项目的前两个字符。(无空格)

Python:打印列表中每个项目的前两个字符。(无空格),python,python-2.7,split,Python,Python 2.7,Split,迄今为止的代码: fullname = "John Doe" namelist = fullname.split() for word in namelist: print word[:2].lower(), 这将产生: jo do 我希望它输出: jodo 欢迎您的任何建议:)逗号将创建一个空格。尝试创建列表并用空字符串连接: >>> print "".join(word[:2].lower() for word in namelist) jodo 要以较小的

迄今为止的代码:

fullname = "John Doe"
namelist = fullname.split()
for word in namelist:
    print word[:2].lower(),
这将产生:

jo do
我希望它输出:

jodo

欢迎您的任何建议:)

逗号将创建一个空格。尝试创建列表并用空字符串连接:

>>> 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

逗号创建一个空格。尝试创建列表并用空字符串连接:

>>> 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
打印
的“神奇逗号”总是插入空格,所以不能这样做

你有三个选择:

  • 首先将单词向上排列成字符串,然后打印该字符串:
    print'。加入(单词[:2]。名称列表中单词的下排())
  • 直接到而不是使用
    print
    sys.stdout.write(word[:2].lower())
  • 使用,它可以这样做。首先,从代码顶部的“导入打印”功能中选择
    。然后,
    打印(word[:2].lower(),end='')
  • 打印
    的“神奇逗号”总是插入空格,所以不能这样做

    你有三个选择:

  • 首先将单词向上排列成字符串,然后打印该字符串:
    print'。加入(单词[:2]。名称列表中单词的下排())
  • 直接到而不是使用
    print
    sys.stdout.write(word[:2].lower())
  • 使用,它可以这样做。首先,从代码顶部的“导入打印”功能中选择
    。然后,
    打印(word[:2].lower(),end='')
  • [:2]选择前两个字母
    lower
    将它们转换为小写。使用
    +
    可以连接字符串

    Python2.x:

    >>> print "".join(x[:2] for x in words)
    
    [:2]选择前两个字母
    lower
    将它们转换为小写。使用
    +
    可以连接字符串

    Python2.x:

    >>> print "".join(x[:2] for x in words)
    
    具有可设置为空字符串的参数
    sep
    (用于“分隔符”)。使用它并使用
    *
    运算符指定传入可变数量的参数:

    from __future__ import print_function
    fullname = "John Doe"
    words = (word[:2].lower() for word in fullname.split())
    print(*words, sep='')
    
    具有可设置为空字符串的参数
    sep
    (用于“分隔符”)。使用它并使用
    *
    运算符指定传入可变数量的参数:

    from __future__ import print_function
    fullname = "John Doe"
    words = (word[:2].lower() for word in fullname.split())
    print(*words, sep='')
    

    对于记录,
    “A”.join(myList)
    myString.split(“A”)
    相反。对于记录,
    “A”.join(myList)
    myString.split(“A”)
    @twasbrillig相反:事实上,如果我写的是2.x特定的代码,我通常会避免它,因为它会让人们认为我在写2.x/3.x代码,当它在3.x中不起作用时,他们会抱怨。再说一次,我已经有几年没有写过任何新的2.x特定代码了,所以…@twasbrillig:实际上,如果我写的是2.x特定代码,我通常会避开它,因为它会让人们认为我在写2.x/3.x代码,当它在3.x中不起作用时会抱怨。再说一次,我已经有几年没有写过任何新的2.x特定代码了,所以…为什么你要解释他已经写过的代码部分,而不是你为解决他的问题而添加的代码部分?有什么理由否决吗????,如果downvote plz提供理由,那么我们应该纠正它。这会使代码变得不那么通用,因为它现在只适用于两个单词的名称,不多也不少。这与他要求的一般检查无关for@Hackaholic:公平地说,标题是“打印列表中每个项目的前两个字符”;仅仅因为这个例子恰好在列表中只有两个元素,并不意味着他的真实代码有两个元素。所以twasbrillig可能有点道理。你为什么解释他已经编写的代码部分,而不是你为解决他的问题而添加的部分?是否有理由拒绝投票??,如果拒绝投票plz提供理由,那么你应该纠正它。这使得代码不那么通用,因为它现在只适用于两个单词的名称,不多也不少。这与他问的问题无关for@Hackaholic:公平地说,标题是“打印列表中每个项目的前两个字符”;仅仅因为这个例子恰好在列表中只有两个元素,并不意味着他的真实代码有两个元素。因此,特瓦斯布里格可能有道理。