python中的list叫做列表,可以通过append方法在列表的末尾添加单个元素
x = [1,2,3]x.append(4)
或者使用extend方法在列表末位添加多个元素,参数就变成了列表
x.append([4,5,6])或者使用insert方法在任意位置添加元素,第一个参数是插入元素的位置,第二个参数是插入元素的值
x.insert(0,-1)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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)