【发布时间】:2023-03-14 11:19:02
【问题描述】:
您好,我想使用列表推导来创建具有以下内容的整数列表:
如果它是一个 int 保持不变。 如果是str,则将其转换为int。 否则无。
例子:
func([(1, "48")]) # [(1, 48)]
func([(1, "0xf")])) # [(1, 15)]
func([(1, "junk")])) # None
func([([3], 4)])) # None
到目前为止我的代码:
def func(iterable):
if not (isinstance(x, int) and isinstance(x, str)):
return None
return [x if isinstance(x, int) else int(x) if x.isdigit() for x in iterable]
当我在可迭代(无效语法)中对 x 运行它时,仍然无法弄清楚。 你能告诉我我哪里做错了吗?
【问题讨论】:
标签: python list list-comprehension