遍历列表以将项目分为多个列表-Python

说我有一个列表,其中包含客户名称,销售金额以及在一家企业出售的商品。

transactions_clean列表具有这三个项目

现在我想将它们分为三个单独的列表:

customers = []
sales = []
items = []

在另一个示例中,我正在与以下对象完美配合

for customer in transactions_clean:
  customers.append(customer[0])
for sale in transactions_clean:
  sales.append(sale[1])
for item in transactions_clean:
  items.append(item[2])

将其用于另一个列表时,它会在每个列表中将它们的全长分开。但是,在此示例中,对于客户名称,它只是将各个字符分隔为客户列表。谁能告诉我我做错了吗?我对Python有点陌生。注意:这不是为了家庭作业,也不是为了工作,这只是我在尝试一种新语言的时候。

谢谢

super__1987cl 回答:遍历列表以将项目分为多个列表-Python

在遍历变量之前,您需要了解变量的类型。例如,如果我们遍历一个列表,则会分别获得每个列表项:

>>> customers = ['tom','dick','harry']
>>> for person in customers:
>>>    print(person)
tom
dick
harry

但是,如果我们遍历字符串,则会分别获得每个字符:

>>> purchase = 'wine'
>>> for letter in purchase:
>>>    print(letter)
w
i
n
e

当您希望遍历列表时,似乎正在遍历字符串。尝试根据您的问题调整类似的内容:

>>> customer_transactions = [['tom',10.99,'bottle of wine'],['dick',14.49,'400g blue stilton'],['harry',5.00,'six pack of fosters']]

>>> customers = []
>>> sales = []
>>> items = []

>>> for transaction in customer_transactions:
>>>     customers.append(transaction[0])
>>>     sales.append(transaction[1])
>>>     items.append(transaction[2])

现在,由于customerssalesitems都是列表,我们也可以对其进行迭代:

# continued from last code block
>>> for person in customers:
>>>     print(f"Thank you,{person}.")
Thank you,tom.
Thank you,dick.
Thank you,harry.
本文链接:https://www.f2er.com/3128687.html

大家都在问