使用以空格分隔的文本在python中打印列表

使用以空格分隔的文本在python中打印列表,python,linux,list,delimiter,Python,Linux,List,Delimiter,我有: 我想: surfaceList = [(21, 22, 2, 4, 24), (27, 28, 7, 4, 30)] 我曾经 The vertex are 21 22 2 4 24 The vertex are 27 28 7 4 30 错误是: totalSurface = len(surfaceList) print " total surface = %d " % (totalSurface) for surfaceGenNew in range(totalSurface):

我有:

我想:

surfaceList = [(21, 22, 2, 4, 24), (27, 28, 7, 4, 30)]
我曾经

The vertex are 21 22 2 4 24
The vertex are 27 28 7 4 30
错误是:

totalSurface = len(surfaceList)
print " total surface = %d " % (totalSurface)
for surfaceGenNew  in range(totalSurface):
 print " The vertex are  " surfaceList[surfaceGenNew]
我也用过

print "  The vertex are %s" surfaceInformationVertexList[surfaceGenNew]
^
Error: invalid syntax
错误是

foo = [(21, 22, 2, 4, 24), (27, 28, 7, 4, 30)]
print " \n The vertex are ".join(foo)
我可以使用艰难的方法找到单个列表的长度,然后对每个列表项使用if条件,然后打印相同的内容,但我相信有一种聪明的方法可以做到这一点


有什么建议吗

您有一个元组列表。试一试

TypeError: sequence item 0: expected string, tuple found
  • for
    循环允许您在自己的行中打印每个元组(有其他方法,但我发现这个方法比其他方法更可读)

  • .join
    与comprehension(将元组中的
    int
    值转换为
    str
    )一起格式化元组,使每个值都用空格分隔。格式字符串中的
    {0}
    是一个placeholde,指定它将被
    .format()
    调用的第一个(索引0)参数替换

  • .format()
    连接文本(顶点是…)和空格分隔值


  • 您有一个元组列表。试一试

    TypeError: sequence item 0: expected string, tuple found
    
  • for
    循环允许您在自己的行中打印每个元组(有其他方法,但我发现这个方法比其他方法更可读)

  • .join
    与comprehension(将元组中的
    int
    值转换为
    str
    )一起格式化元组,使每个值都用空格分隔。格式字符串中的
    {0}
    是一个placeholde,指定它将被
    .format()
    调用的第一个(索引0)参数替换

  • .format()
    连接文本(顶点是…)和空格分隔值


  • 用你写的方式修正了一些事情:

    for s in surfaceList:
        print("The vertex are {0}".format(" ".join(str(x) for x in s)))
    

    但我强烈建议按照@selcuk的答案来做

    你写的方式来解决问题:

    for s in surfaceList:
        print("The vertex are {0}".format(" ".join(str(x) for x in s)))
    

    但是我强烈建议使用@selcuk的答案

    给出一个错误:TypeError:sequence item 0:expected string,int foundIt可以正常工作,您能解释两件事吗?1:在这种情况下,定界是如何工作的,{0}是如何工作的,这将有助于我将来自己使用它。。2:你怎么这么快得到+3的:)就像我这么快得到-1一样@哈马达桑:当然,只是添加了关于所用方法的额外信息。我不太清楚你为什么会被否决,因为这是一个有效的主题问题。我感谢你的时间和解释,因为这是一行,我是初学者,我打破了它。你能告诉我哪里弄错了吗?对于surfaceList中的s:for x in s:print(“顶点为{0}”)。格式(“.join((str(x‘‘‘‘‘‘‘)”)))当您在嵌套for循环中时,您已经从tuple中获取了单个元素,并且join()只能在字符串序列上执行。请尝试以下操作:在surfaceList:print_string=“顶点为”s:print_string+=str(x)+”print print_string[:-1]中的x给出一个错误:TypeError:sequence item 0:expected string,int Found它工作正常,您能解释两件事吗?1:在这种情况下,定界是如何工作的,{0}是如何工作的,这将有助于我将来自己使用它。。2:你怎么这么快得到+3的:)就像我这么快得到-1一样@哈马达桑:当然,只是添加了关于所用方法的额外信息。我不太清楚你为什么会被否决,因为这是一个有效的主题问题。我感谢你的时间和解释,因为这是一行,我是初学者,我打破了它。你能告诉我哪里弄错了吗?对于surfaceList中的s:for x in s:print(“顶点为{0}”)。格式(“.join((str(x‘‘‘‘‘‘‘)”)))当您在嵌套for循环中时,您已经从tuple中获取了单个元素,并且join()只能在字符串序列上执行。尝试以下操作:在surfaceList:print\u string=“顶点是”在s:print\u string+=str(x)+”print print\u string[:-1]中的x