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

遍历一个列表以将项目分隔为多个列表-Python,python,string,list,Python,String,List,假设我有一个列表,其中包含客户姓名、销售金额和某个企业销售的商品 列表事务有以下三项 现在,我想将其分为三个单独的列表: customers = [] sales = [] items = [] 在另一个例子中,我使用的是以下方法,效果非常好 for customer in transactions_clean: customers.append(customer[0]) for sale in transactions_clean: sales.append(sale[1]) for

假设我有一个列表,其中包含客户姓名、销售金额和某个企业销售的商品

列表事务有以下三项

现在,我想将其分为三个单独的列表:

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有些陌生。注意:这不是为了家庭作业,也不是为了工作,这只是我在努力学习一门新语言的时间


谢谢

在循环变量之前,您需要知道它是什么类型的变量。例如,如果我们迭代一个列表,我们将分别得到每个列表项:

>客户=['tom','dick','harry']
>>>对于个人客户:
>>>印刷品(人)
汤姆
家伙
骚扰
但是,如果我们对字符串进行迭代,我们将分别获得每个字符:

>purchase='wine'
>>>购买中的信件:
>>>印刷品(信件)
W
我
N
E
它看起来像是在一个字符串上迭代,而您希望在一个列表上迭代。尝试根据您的问题调整类似的内容:

>>客户交易=[[tom',10.99',瓶装酒],
['dick',14.49,'400克蓝色斯蒂尔顿'],
['harry',5.00,'六包福斯特']]
>>>客户=[]
>>>销售额=[]
>>>项目=[]
>>>对于客户交易中的交易:
>>>customers.append(事务[0])
>>>sales.append(事务处理[1])
>>>items.append(事务[2])
既然
客户
销售
,以及
项目
都是列表,我们也可以对它们进行迭代:

#从上一个代码块继续
>>>对于个人客户:
>>>打印(f“谢谢,{person}.”)
谢谢你,汤姆。
谢谢你,迪克。
谢谢你,哈利。

这个问题有点难理解。请向我们展示您的输入、处理代码、预期输出以及实际获得的输出。列表“transactions_clean”中的信息如下:
['Edith Mcbride'、'1.21美元'、'white'、'09/15/17']
重复了一次又一次。比如说,如果我打印(客户)我会得到以下
['E'、'$'、'w'、'0'、'H'、'$'、'w'、'0'、'L'、'w'、'0'、'E'、'w'、'0'、'D'、'D'、'P'、'P'、'S'、'S'、'S'、'S'、'P'、'S'、'S'、'S'、'P']
由于长度的关系,我不得不将每个部分都剪短一点。谢谢谢谢,这很有帮助。它使代码更易于阅读,并且在一个for循环中执行所有三个追加比在三个for循环中进行扩展更容易。