如何打印列中的列表?

时间:2015-03-25 09:51:52

标签: python python-3.x

如何在一列中打印这些功能。

  item = stock.stock_list(location_name)



for x in sorted(item):
    """Stock list of given location"""
    print (x)

for y in sorted(item): 
    """Stock price of give location and stock list"""
    print ("{0:.2f}".format(stock.stock_price(y)))  

for z in sorted(item):  
    """stock qty of given location name and item"""
    print(stock.stock_quantity(location_name, z))    

输出

Elephant foot yam
Kai-lan    
16.25
13.96  
90
18

希望它是

Elephant foot yam         16.25             90
Kai-lan                   13.96             18 

第一个必须左对齐且宽20,第二个是右对齐,8宽,第三个是右对齐,6宽。


另一个问题。

如何在括号中打印下面的location_id?

print(toptext, location_name, location_id)

输出

Stock summary for location 123456789

我希望它是

Stock summary for  Wellington (123456789)

我累了

 print(toptext, location_name, "(", location_id ,")" )

但括号之间有一个空格,如此(123456789)

提前谢谢

3 个答案:

答案 0 :(得分:0)

对于第二个问题,试试这个:

print "(%s)" % location_id

如果要打印更多变量,可以这样做:

print "%s %s (%s)" % (toptext, location_name, location_id)

答案 1 :(得分:0)

对于问题的第一部分,您需要在每个循环中打印一整行

for x in sorted(item):
    """Stock list of given location"""
    print (x)
    print (spacing)
    """Stock price of give location and stock list"""
    print ("{0:.2f}".format(stock.stock_price(y)))
    print (spacing)
    """stock qty of given location name and item"""
    print(stock.stock_quantity(location_name, z))

为了更好地进行布局,Python允许你做" " * n 因此,您可以计算行中每个单元格之间所需的空格数,并执行以下操作:

" " * (spacing_length - len(cell))

答案 2 :(得分:-1)

您可以使用format()功能完成所有操作。

你的第一个问题是:

"{:<20}{:>8.2f}{:>6}".format(item, price, stock)

在你的第二个问题中应该是

"{} {} ({})".format(toptext, location_name, location_id)

有关详细信息,请阅读格式文档。