python - 我正在尝试打印一个列表。它给出类型错误
问题描述
我正在尝试打印一个列表。它给出类型错误。
buyList = ["Potato", "Suger", "Rice", "Oil", "Cake", "Biscuit"]
for i in buyList:
if i % 2 is not 0:
print(i, end=" ")
i += 1
错误
TypeError: not all arguments converted during string formatting
解决方案
您必须使用列表的索引进行迭代。无需在循环中增加循环for
变量
In [79]: buyList = ["Potato", "Suger", "Rice", "Oil", "Cake", "Biscuit"]
...:
...: for i in range(len(buyList)):
...: if i % 2 != 0:
...: print(buyList[i], end=" ")
...:
Suger Oil Biscuit
另一种方法是使用enumerate
which 给出索引 + 值。
In [80]: buyList = ["Potato", "Suger", "Rice", "Oil", "Cake", "Biscuit"]
...:
...: for index, value in enumerate(buyList):
...: if index % 2 != 0:
...: print(value, end=" ")
...:
Suger Oil Biscuit
推荐阅读
- java - 返回 Java 流的空值
- android - Kotlin Multiplatform:找不到插件 [id: 'com.android.library']
- c - 如何将字符串转换为整数然后在 C 中的两个字符串之间进行减法?
- javascript - 使用可视化参数导出图像集合的每个图像
- virtual-machine - 尝试在 Virtual Box 中从固定磁盘更改为动态磁盘时参数“变体”无效
- sql - ORACLE:动态数据的 PIVOT 表
- python - 获取另一个函数的数据
- elasticsearch - ElasticSearch RANGE 查询无法按预期工作
- python - 来自 child_process spawn 的标准输出,从 NodeJS 中调用的 python 程序写入输出两次
- spring - 在 Spring Boot apis 中添加安全漏洞检查的最佳方法