tuple是不变的。应当是生成新的tuple项添加了待输出的列表中。
根据规则,分别得到两个List[Tuple],然后合并即可
A = [...]
B = [...]
def b_in_a(b: tuple) ->bool:
....""""判断b子项是否能与A中某项对应"""
....for a in A:
........if a[0]==b[0] and a[1].startswith(b[1]):
............return True
....return False
def gen_item(a: tuple) ->tuple:
...."""生成输出项"""
....for b in B:
........if b_in_a:
............return b + (1,)
....return a[:2] + (0,)
def get_excess() ->list:
...."""得到B中不能与A对应的所有项"""
....return list(map(lambda _: _ + (0,),filter(lambda _: !b_in_a(_),B)))
lst_out = list(map(gen_item, A)) + get_excess()
print(lst_out)
直接使用列表 *** 作函数,代码如下:a=[(1,1),(2,2),(3,3),(4,4)]
b = (5, 5)
c = (6, 6)
a.append(b)
a.append(c)
print(a)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)