如何在while循环结束后调整索引位置以构建目标二维列表?
解决方案
你可以通过双层while循环实现需求,外层循环遍历所有房屋,内层循环为对应房屋添加指定数量的年龄,代码如下:
finalList = [] c = 0 d = 0 # 外层循环:处理每一栋房屋,直到所有房屋都被处理 while c < len(house_numbers): # 初始化当前房屋的子列表,先加入房屋编号 current_house = [house_numbers[c]] # 获取当前房屋的居住人数 required_ages = population[c] added_count = 0 # 内层循环:为当前房屋添加对应数量的年龄 while added_count < required_ages: current_house.append(age[d]) d += 1 added_count += 1 # 将当前房屋的完整列表加入最终结果 finalList.append(current_house) # 切换到下一栋房屋 c += 1
代码逻辑说明
- 外层
while循环通过c作为房屋索引,遍历所有房屋,确保适配任意数量的输入房屋。 - 每处理一栋房屋时,先创建以房屋编号为首个元素的子列表。
- 内层
while循环根据population[c]的数值,从age列表中依次取出对应数量的年龄添加到子列表,同时用d跟踪age列表的当前位置,added_count确保添加的年龄数量准确。 - 当前房屋的年龄添加完成后,将子列表加入
finalList,c自增1处理下一栋房屋。
内容的提问来源于stack exchange,提问作者Goldfish
相关产品推荐
相关产品推荐

