需求就是在操作乙個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,...