【发布时间】:2022-01-05 19:11:15
【问题描述】:
如果我有包含列表和整数值的 kwarg,我如何键入检查 for if 循环中的项目?
我不断收到TypeError: 'int' is not iterable,否则它会跳过 if 语句。
我已经尝试过运算符 ==、!=、is、is not 和 list、List、iter、type(list) 和 int
示例: 如果我的 kwarg 是……
kwargs = {'foo': [1, 2], 'bar': 2, 'baz': 3}
new_list = []
for kw, args in kwargs.items():
if args == list:
for arg in args:
new_list.append(str(arg))
else:
new_list.append(str(args))
print(new_list)
>>> ['[1, 2]', '2', '3']
如果我将 if 语句切换到 if args != int: 我会得到 TypeError: 'int' is not iterable
【问题讨论】:
-
如果你想检查某个东西是否是一个列表,你可以这样做
if isinstance(args, list):
标签: python operators typing control-flow generic-collections