繁体   English   中英

在python中打印越来越多的数字以及列表中的项目

[英]printing an increasing number along with the items of a list in python

我在python有一个list - ['item1','item2','item3','item4'] 我正在尝试通过以下方式打印此列表1. ITEMS: item1 2. ITEMS: item2 3. ITEMS: item3 4. ITEMS: item4 . 1. ITEMS: item1 2. ITEMS: item2 3. ITEMS: item3 4. ITEMS: item4 . 1. ITEMS: item1 2. ITEMS: item2 3. ITEMS: item3 4. ITEMS: item4 . 1. ITEMS: item1 2. ITEMS: item2 3. ITEMS: item3 4. ITEMS: item4 . 1. ITEMS: item1 2. ITEMS: item2 3. ITEMS: item3 4. ITEMS: item4 我写了这段代码,但是由于我试图以错误的方式指定range() ,因此出现了错误:

list_semi = ["%d. ITEMS: %s" % (x for x in range(1,len(bookings)),items) for items in bookings]
print('Your items are {}.'.format(','.join(list_semi)))

上面代码中的bookings是我在上面发布的示例数据的列表。 如上所述,如何以所需的方式打印列表?

更新案例2如果我的样本输入列表更改为- [[item1,price1],[item2,price2]...]并且我希望样本输出为1. ITEMS: item1, PRICE: price1 2. ITEMS: item2, PRICE: price2 3. ITEMS: item3, PRICE: price3 4. ITEMS: item4, PRICE: price4那么我应该如何编写代码? 清单名称与bookings相同

无需使用range 使用enumerate生成索引,直接迭代列表对象。 将开始参数指定为1:

>>> ' '.join(['{}. ITEMS: {}'.format(i, x) for i, x in enumerate(lst, 1)])
'1. ITEMS: item1 2. ITEMS: item2 3. ITEMS: item3 4. ITEMS: item4'

更新

>>> lst = [['item1','price1'],['item2','price2']]
>>> ' '.join(['{}. ITEMS: {}, PRICE: {}'.format(i, *x) for i, x in enumerate(lst, 1)])
'1. ITEMS: item1, PRICE: price1 2. ITEMS: item2, PRICE: price2'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM