python - Python:嵌套列表迭代
问题描述
我的列表是这样的嵌套列表:
[[3, 0, 5, 2, 2, 3, 5, 1, 3, 4, 2, 3, 5, 4], etc.
函数overunder返回这样的元组:(1,2,3,4,5,6)
worksheet2.write
将结果写入 excel 文件
我需要将每个函数结果(元组)写入 excel 文件的新行
所以我想出了以下代码
for item in list:
ou = overunder(item)
i = 0
ii = []
s = sum(ii)
while i < len(ou):
worksheet2.write(s + 2, i + 2, ou[i])
i += 1
ii.append(1)
它似乎工作正常,唯一的问题是我必须在s
每个 for 循环中增加。但奇怪的ii
是没有附加。
可能有什么问题?
解决方案
您的问题是,s
并在每个循环ii
上重新初始化它们的值。你想在循环之前定义移动。但无论如何,这是一种奇怪的维护清单的方式。您的代码可以通过使用以下函数来简化:for
ii = []
s
sum
ii
enumerate
for row, item in enumerate(lst):
ou = overunder(item)
for col, element in enumerate(ou):
worksheet2.write(row + 2, col + 2, element)
顺便说一句,您没有提到您使用什么库来写入 excel。使用openpyxl您可以利用该append
方法一次编写一整行并大大简化您的代码:
for item in lst:
worksheet2.append(('', '') + overunder(item))
推荐阅读
- junit - junit中带有@PreAuthorize注解的模拟方法
- storybook - 故事书构建成功但服务时出错
- java - 推断类型是否反映在字节码中?
- python - Stylesheet QmainWindow 在 pyqt5 上不起作用,只有 qt 设计器预览
- html - 如何在单个表单中区分 Sweetalert 的两个提交按钮
- python - mongoDB 和 MySQL 的一个事务,具有一对多关系
- layout - PyMEL 嵌入布局
- python - 当有分叉进程时,如何立即从主进程中获取标准输出值
- reactjs - 功能组件在反应中返回对象Object
- firefox - 浏览器导航计时级别 2 时间戳有时会出现故障