我目前正在尝试遍历并打印列表中的特定值。 我试图这样做的方式是这样的。
for i in range(len(PrintedList)):
index = i
elem=PrintedList[i]
print(elem)
print ("Product = ", PrintedList [index,1], "price £",PrintedList [index,2])
然而,这会返回错误:
TypeError: list indices must be integers or slices, not tuple.
我真的不确定如何解决这个问题。
答案 0 :(得分:4)
请不要使用indeces迭代,这是丑陋的,被认为是非pythonic。而是直接遍历列表本身并使用元组赋值,即:
for product, price, *rest in PrintedList:
print ("Product = ", product, "price £", price)
或
for elem in PrintedList:
product, price, *rest = elem
print ("Product = ", product, "price £", price)
*rest
仅在某些子列表包含超过2个商品(价格和产品)时才需要
如果您需要indeces,请使用enumerate:
for index, (product, price, *rest) in enumerate(PrintedList):
print (index, "Product = ", product, "price £", price)
答案 1 :(得分:0)
当您引用嵌套列表时,可以在单独的括号中引用每个索引。试试这个:
for i in range(len(PrintedList)):
index = i
elem=PrintedList[i]
print(elem)
print ("Product = ", PrintedList [index][1], "price £",PrintedList [index][2])