python - 在python中增加内循环的索引和更新外循环的索引
问题描述
如何在内部循环中附加数据时更改二维列表的索引,并在最外层循环的迭代完成后更新索引?
item_list =['data1','data2','data3','data4','data1', 'data6','data7','data9','data10','data11','data12']
item_list_2 = ['data1','data2','data3','data4']
item_list_3 = ['data1','data2','data3','data3','data5','data3','data7','data8','data9','data3','data11','data12']
Data_table_array = []
for index, items in enumerate(item_list):
if items == 'data1':
for item2 in item_list_2:
Data_table_array[index].append(item2)
for item3 in item_list_3:
if item3 == 'data3':
Data_table_array[index].append(item3)
预期输出
Data_table_array = ['data1','data2','data3','data4','data1','data2','data3','data4','data3']
对于内部循环索引保持不变,它仅在循环进入外部循环时发生变化。由于内部循环有不同的条件,如果条件为真,我想缩进索引,但实际上编译器将数据附加到同一索引上,因为索引没有改变
解决方案
你可以尝试这样做:
- 使用您想要的最新更新索引存储变量
- 当下一次迭代发生在外循环中时,检查循环的索引是否与存储的变量匹配。
例如:
foo = ['a', 'b', 'c', 'd', 'e']
latest_index = ''
checker = True
for i, elem in enumerate(foo):
if elem == latest_index:
checker = True
if checker:
print(elem)
if i < len(foo) - 1:
latest_index = foo[i+1]
checker = False
推荐阅读
- python - 图像未显示 tkinter
- r - 如何计算每列的滚动平均值
- r - 如何找到向量R中2列之间的差异?
- python - Pandas - 按组比较当前年份的值与以前所有年份的值,如果是累积最小值则返回 True
- amazon-dynamodb - 如何使用 dynamodb 表设计来证明这些可能的需求更改(交换主键列)?
- android - 颤动一些按钮在某些设备上不起作用
- html - 当我调整它的大小时,我的 Bootstrap 行超出了页面宽度?
- javascript - 从 svg 生成到画布的图像,动画结果,看起来很慢
- python - 同时监听多个请求(Android 到 Python 脚本)
- qt - 在 QML 中鼠标悬停时加载矩形