Python中不使用pandas等库如何拆分合并列表得到目标元组结构?
你原来的写法错误原因是两层循环将外层元组的所有元素直接平铺到结果列表,没有把嵌套的三元组和后面的数值合并为同一个元组,以下两种原生Python实现都可以达到目标效果,无需引入第三方库:
方案1:元组直接拼接
result = [item[0] + (item[1],) for item in aa]
注意(item[1],)末尾的逗号不能省略,这是Python中声明单元素元组的语法要求,否则括号只会被识别为运算优先级符号,无法完成元组拼接操作。
方案2:元组解包(更简洁的Pythonic写法)
result = [(*sub_tuple, num) for sub_tuple, num in aa]
直接将每个外层元组解包为sub_tuple(嵌套的三元组)和num(后续的数值),再通过解包语法合并为新的四元组。
内容的提问来源于stack exchange,提问作者James bond
相关产品推荐
相关产品推荐

