我有一个元组列表,需要为每个元组添加更多信息。列表如下所示:
[(name1, value1), (name2, value2), (name1, value3), ...]
我有一个函数来获取每个元组的额外信息,但是我需要新元组是平坦的,我想不出一个好的方法来在列表理解中做到这一点。我很想做这样的事情:
new_list = [(name, value, *extra_info(name)) for name, value in old_list]
或者
new_list = [list(name, value, *extra_info(name)) for name, value in old_list]
不幸的是,第一个是糟糕的语法,第二个不起作用,因为list
只接受一个参数。有没有办法解压列表中extra_info
返回的元组?如果做不到这一点,解决这一问题的最可行的方法是什么?你知道吗
为了清楚起见,我想最后列出一个如下所示的列表:
[(name1, value1, extra1, extra2), (name2, value2, extra3, extra4), (name1, value3, extra1, extra2), ...]
尝试:
不需要将元组转换为列表。。。你知道吗
你必须对列表求和并将其转换为元组。你知道吗
我在考虑这一点时想到的是使用lambda echo函数来打包新的元组:
相关问题 更多 >
编程相关推荐