如何将(String, Array[String])元组映射为多个(String, String)元组
元组结构转换实现方案
你可以通过遍历嵌套的颜色子元组,和固定的第一个元素拼接成新的二元元组实现需求,以下是两种常用实现方式:
1. 简洁写法(列表推导式)
直接一行代码完成转换,得到包含三个目标元组的列表:
# 定义原始元组 origin_tuple = ("banana", ("green", "yellow", "brown")) # 转换逻辑 result = [(origin_tuple[0], color) for color in origin_tuple[1]]
运行后result的值就是[("banana","green"), ("banana","yellow"), ("banana","brown")],顺序和原颜色元组的顺序一致。
如果需要把三个元组分别赋值给独立变量,可以直接解包:
tuple1, tuple2, tuple3 = [(origin_tuple[0], color) for color in origin_tuple[1]]
2. 基础循环写法(更易理解)
如果是刚入门Python,可以用普通for循环实现,逻辑更直观:
origin_tuple = ("banana", ("green", "yellow", "brown")) result = [] # 遍历所有颜色 for color in origin_tuple[1]: # 拼接新元组加入结果列表 result.append( (origin_tuple[0], color) )
两种方式的运行效果完全一致,你可以根据自己的场景选择。
内容的提问来源于stack exchange,提问作者Tom Hill
相关产品推荐
相关产品推荐

