处理python列表

时间:2019-06-09 04:33:02

标签: python

我有这个清单

list = [name1,desc1,price1,stock1,name2,desc2,price2,stock2]

如何使用简单的for循环操作将其更改为以下内容?

list = [[product#1 name,product#1 desc,product#1 price,product#1 stock],[product#2 name,product#2 desc,product#2 price,product#2 stock]]

2 个答案:

答案 0 :(得分:0)

使用reitertools.groupby

import re
import itertools

l = ['name1','desc1','price1','stock1','name2','desc2','price2','stock2']

[['product#%s %s' %(k, re.sub('\d+', '', i)) for i in g] 
 for k, g in itertools.groupby(l, lambda x:re.findall('\d+', x)[0])]

输出:

[['product#1 name', 'product#1 desc', 'product#1 price', 'product#1 stock'],
 ['product#2 name', 'product#2 desc', 'product#2 price', 'product#2 stock']]

答案 1 :(得分:0)

首先,您不能将关键字用作变量名,因此请更改变量名list的名称,然后可以对列表中的每个项目进行尝试

for item in lists:
  for i in item:
    # your operation here for individual items

或者您可以只使用一个带有索引号的循环进行编辑,

for item in lists:
  print(item[0]) # you can say item[0] is the product name and so