python list中的元素按關鍵字相加或相減:
# coding=utf-8
# 兩個list按關鍵字相加或相減
def listadd(list1, list2, badd = true):
if badd == false:
list2 = [(k, -v) for (k, v) in list2]
d = {}
list0 = list1 + list2
for (k, v) in list0:
d.setdefault(k, 0) # 設定字典元素初始值
d[k] += v # 對字典中的元素按關鍵字相加
ret = list(d.items()) # 字典轉換成list
ret = sorted(ret) # 對list排序
return ret
if __name__ == '__main__':
a = [("s1", 10), ("s2", 13), ("s3", 25), ("s7", 30)]
b = [("s1", 22), ("s3", 16), ("s10", 8)]
print("a=", a)
print("b=", b)
ret1 = listadd(a, b) # ret1 = a + b
print("ret1=", ret1)
ret2 = listadd(a, b, false) # ret2 = a - b
print("ret2=", ret2)
執行:
e:\program\python>del.py
a= [('s1', 10), ('s2', 13), ('s3', 25), ('s7', 30)]
b= [('s1', 22), ('s3', 16), ('s10', 8)]
ret1= [('s1', 32), ('s10', 8), ('s2', 13), ('s3', 41), ('s7', 30)]
ret2= [('s1', -12), ('s10', -8), ('s2', 13), ('s3', 9), ('s7', 30)]
python list 刪除元素
以num list 1,2,2,3,4,5 為例。刪除乙個可以確定的元素,一共有三種方法。1.num list.remove 2 會刪除第乙個值為2的元素。2.num list.pop 1 會彈出索引為1的元素,若不傳引數,則彈出最後乙個元素。3.del num list 1 會刪除索引為1的元素。...
Python list列表4種刪除元素
1,del 根據索引值刪除元素 del 是 python 中的關鍵字,專門用來執行刪除操作,它不僅可以刪除整個列表,還可以刪除列表中的某些元素。我們已經在 python列表 中講解了如何刪除整個列表,所以本節只講解如何刪除列表元素。www.djznrobot.com del 可以刪除列表中的單個元素...
Python List 去除列表中重複的元素
比較容易記憶的是用內建的 setl1 b c d b c a a l2 list set l1 print l2 還有一種據說速度更快的,沒測試過兩者的速度差別 l1 b c d b c a a l2 fromkeys l1 keys print l2 這兩種都有個缺點,祛除重複元素後排序變了 a ...