Python操作list列表合併

2021-09-29 14:32:07 字數 1963 閱讀 5064

需求就是在操作乙個list的資料集的時候,需要將其中的所有的元素的第一位資料合併,再合併第二位資料

如果是存在a 和a-b就都統一為a-b

統一了之後,再順便將每乙個list中的第二位元素合併相加

#將兩部分的list資料彙總key相同的部分合併一下,保證最終匯入到excel表中的key唯一

def mergedata(data):

for item in data:

# print(item[0], item[1])

for tmp in data:

if item[0].__contains__(tmp[0]) or tmp[0].__contains__(item[0]):

if len(item[0]) >= len(tmp[0]):

tmp[0] = item[0]

else:

item[0] = tmp[0]

print("******************************")

for i in data:

print(i)

print("******************************")

empty_dict = dict()

for d in data:

print(d[0])

a=list(d[1])

#判斷字典中是否存在key存在就更新value,否則新增k-v

if(empty_dict.__contains__(d[0])):

empty_dict[d[0]][0] = empty_dict[d[0]][0] +a[0]

empty_dict[d[0]][1] = empty_dict[d[0]][1] + a[1]

empty_dict[d[0]][2] = empty_dict[d[0]][2] + a[2]

empty_dict[d[0]][3] = empty_dict[d[0]][3] + a[3]

empty_dict[d[0]][4] = empty_dict[d[0]][4] + a[4]

else:

empty_dict[d[0]]=list(d[1])

print("遍歷字典")

print(empty_dict)

data1=['key1',(1,0,0,1,0)]

data2=['key2-value',(0,1,0,0,1)]

data3=['key2',(1,0,0,0,0)]

data4=['key1',(0,1,0,0,1)]

data5=['key1-zhang',(0,1,0,0,1)]

data=[data1,data2,data3,data4,data5]

#變換之前的data

print("變換之前的data")

print("******************************")

for i in data:

print(i)

print("******************************")

#變換之後的data

print("變換之後的data")

mergedata(data)

Python 列表 list 操作

建立列表 sample list a 1,a b python 列表操作 sample list a b 0,1,3 得到列表中的某乙個值 value start sample list 0 end value sample list 1 刪除列表的第乙個值 del sample list 0 在列...

python 列表list 操作

關於列表list的操作 a list 或者 a b c 建立乙個新的列表 a.extend hello world 或者a.extend c 其中c是乙個列表 extend作用是為陣列拓展多個元素或者乙個列表 a.count hello 意思即為計算列表a裡hello出現的次數 a.index wo...

python 列表(list)操作

python列表函式較多,下面簡單介紹一下它們的用法及注意事項 lst 1,2,3,4,5,6 lst.index 2 1 輸出元素2的位置lst.count 2 1 計算元素2的個數len lst 6lst 0 1 7 1,2,3,4,5,6,7 lst.insert 1,8 1,8,2,3,4,...