我希望将字符串或字典包装到列表中,并提出以下简单代码。还有其他更具表现力/简洁/“ pythonic”的方式吗?
def iterate(x):
if isinstance(x, list):
return x
elif isinstance(x, str) or isinstance(x, dict):
return [x]
else:
raise TypeError(x)
assert iterate('abc') == ['abc']
assert iterate(dict(abc=1)) == [dict(abc=1)]
assert iterate([1, 2]) == [1, 2]
更新:@Bubble之后编辑:
def iterate(x):
if isinstance(x, (list, tuple)):
return x
elif isinstance(x, (str, dict)):
return [x]
else:
raise TypeError(x)
相关分类