我在list
- python
中有一个['item1','item2','item3','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
答案 0 :(得分:4)
无需使用range
。直接迭代列表对象,使用enumerate
生成索引。将start参数指定为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'