两个以上列表合并到一个列表,python可变参数函数

两个以上列表合并到一个列表,python可变参数函数

多个列表,个数不定,比方说
la=[['张三',60],['李四',66],['王五',62]]
lb=[['张三',70],['李四',76]]
lc=[['张三',90],,['王五',92]]
合并后
lst==[['张三',60,70,90],['李四',66,76,None],['王五',62,None,92]]
python可变参数函数如何写?
谢谢


回答:

def foo(*ls):

mapping = {}

for i, l in enumerate(ls):

record = []

for name, value in l:

if name not in mapping:

mapping[name] = list()

if not mapping[name]:

mapping[name].extend(None for _ in range(i))

mapping[name].append(value)

record.append(name)

for name in mapping.keys():

if name not in record:

mapping[name].append(None)

return [[key] + value for key, value in mapping.items()]

if __name__ == '__main__':

print(foo([['张三', 60], ['李四', 66], ['王五', 62]],

[['张三', 70], ['李四', 76]],

[['张三', 90], ['王五', 92]],

[['李四', 10], ['赵六', 20]],

[['王五', 89], ['李四', 70]]))


回答:

非常谢谢!

以上是 两个以上列表合并到一个列表,python可变参数函数 的全部内容, 来源链接: utcz.com/p/937841.html

回到顶部