在python中对列表进行排序
以下是使用csv解析后我的列表的外观:在python中对列表进行排序,python,list,Python,List,以下是使用csv解析后我的列表的外观: list=[['1131', '01/06/15', 'PROFI ROM FOOD SRL', '290.7'], ['1131', '', '', ''], ['2024194PJ', '01/08/15', 'SOCIETATEA NATIONALA DE', '2,088.17'], ['2024194PJ', '', 'RADIOCOMUNICATII SA', '']] (这是一个数据示例,实际列表将更大)
list=[['1131', '01/06/15', 'PROFI ROM FOOD SRL', '290.7'],
['1131', '', '', ''], ['2024194PJ', '01/08/15',
'SOCIETATEA NATIONALA DE', '2,088.17'], ['2024194PJ', '', 'RADIOCOMUNICATII SA', '']]
(这是一个数据示例,实际列表将更大)
我将分析该列表:
for a in list:
for x in a:
if ....:
anotherlist.append(x)
我想要这个输出:
anotherlist=[['1131', '01/06/15', 'PROFI ROM FOOD SRL', '290.7'],
['2024194PJ', '01/08/15', 'SOCIETATEA NATIONALA DE RADIOCOMUNICATII
SA', '2,088.17']]
我想将2rd索引值附加到前面的每个列表中,并删除该特定列表,因此
[['2024194PJ', '01/08/15', 'SOCIETATEA NATIONALA DE',
'2,088.17'], ['2024194PJ', '', 'RADIOCOMUNICATII SA', '']]
是这样吗
[['2024194PJ', '01/08/15',
'SOCIETATEA NATIONALA DE RADIOCOMUNICATII SA', '2,088.17']]
同时也摆脱了这种格式
['1131', '', '', '']
但是我不知道怎么做。假设列表始终遵循您提供的模式:
list2 = []
for i in range(len(list)/2):
list2 += [[list[i*2][0],
list[i*2][1],
list[i*2][2] + ' ' + list[i*2+1][2],
list[i*2][3]]]
说明:我们从一个空列表(列表2)开始: 然后,for循环遍历整个列表,但只查看第二个元素:
for i in range(len(list)/2):
在每个步骤中,它都会向列表2中添加一个新条目:
list2 +=
这个新条目是两个列表元素的组合,列表[i*2]和列表[i*2+1]:
[[list[i*2][0],
list[i*2][1],
list[i*2][2] + ' ' + list[i*2+1][2],
list[i*2][3]]]
太好了,你能解释一下你在那里做了什么吗?非常感谢@隆美尔我在答案中添加了一些细节。我得到了这一点,但是循环怎么会忽略我不需要的列表呢?谢谢这些列表不会被忽略,但因为它们的第三个元素是空字符串(“”),添加它们不会改变任何事情。例如:“苹果”+“派”=“苹果派”,“苹果”+“=“苹果”
[[list[i*2][0],
list[i*2][1],
list[i*2][2] + ' ' + list[i*2+1][2],
list[i*2][3]]]