[英]Creating an increasing list in Python
我试图从其他列表创建一些列表,并在此过程中添加一些条件。 我想将这些列表最终写入到csv中。 这是我尝试的代码。
x = [None]*1000
y = [None]*1000
z = [None]*1000
i = 0
for d in range(0,len(productID)):
for j in range(0,len(productID[d])):
if productID[d][j].startswith(u'sku'):
x[i] = map[productID[d][j]]
y[i] = name[d]
z[i] = priceID[d][productID[d][j]].get(u'e')
i = i + 1
plan_name = x[0:i]
dev_name = y[0:i]
dev_price = z[0:i]
这工作正常,但我认为应该有一个更好的方法。 谁能建议我在循环时如何创建列表,而不必先定义它?
您可以使用.append()
将项目添加到最初为空的列表中。
x, y, z = [], [], []
for d, sublist in enumerate(productID):
for entry in sublist:
if entry.startswith(u'sku'):
x.append(map[entry])
y.append(name[d])
z.append(priceID[d][entry].get(u'e'))
请注意,python可以直接循环遍历序列,并且您通常根本不需要索引。 我使用了enumerate()
函数来向外部循环添加索引(因为您似乎需要在那里索引name
和priceID
)。
.append()
将项目添加到列表的末尾:
>>> foo = []
>>> foo.append('bar')
>>> foo.append('spam')
>>> foo
['bar', 'spam']
您可能需要阅读Python教程 ; 它解释了python列表如何很好地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.