Python 3.5:有没有办法使此列表更有条理?

时间:2019-07-15 15:33:17

标签: python python-3.x

假设您有以下代码:

bicycles = ['Trek','Cannondale','Redline','Secialized']
print(bicycles[0],bicycles[1],bicycles[2],bicycles[3])

这将打印出来:

Trek Cannondale Redline Specialized

我有两个问题。 首先,有没有一种方法可以使打印字符串更有条理,从而不必多次键入自行车?我知道,如果您只是想这样做:

print(bicycles)

它还会打印括号,这是我想避免的。

第二个问题,当列表打印时如何插入逗号显示在列表中?

这就是我想要的结果:

Trek, Cannondale, Redline, Specialized.

我知道我可以做

print("Trek, Cannondale, Redline, Specialized.")

但是使用列表,是否有使其变得更有条理的方法?还是将句子打印出来是最明智的方式?

2 个答案:

答案 0 :(得分:7)

  

使用 .join()方法:

     

方法join()返回一个字符串,其中的字符串元素为   str separator已加入序列。

     

语法: str.join(sequence)

bicycles = ['Trek','Cannondale','Redline','Secialized']
print (' '.join(bicycles))

输出:

Trek Cannondale Redline Secialized

示例:将分隔符更改为', '

print (', '.join(bicycles))

输出:

Trek, Cannondale, Redline, Secialized
  

对于 python 3 ,您还可以使用解压缩

     

我们可以使用*解压缩列表,以便可以将列表的所有元素   作为不同的参数传递。

     

我们使用运算符*

bicycles = ['Trek','Cannondale','Redline','Secialized']
print (*bicycles)

输出:

Trek Cannondale Redline Secialized

注意: 它使用' '作为默认分隔符,或指定一个,例如:

print(*bicycles, sep=', ')

输出:

Trek, Cannondale, Redline, Secialized

如果列表中的元素是不同类型(不必显式转换为字符串),它也将起作用

例如,如果自行车是['test',1,'two',3.5,'something else']

bicycles = ['test', 1, 'two', 3.5, 'something else']
print(*bicycles, sep=', ')

输出:

test, 1, two, 3.5, something else

答案 1 :(得分:1)

您可以使用join:

' '.join(bicycles)

', '.join(bicycles)