python - 接受单个数字或列表并将其用作列表的 Pythonic 方式(相当于 numpy.atleast_1d() )
问题描述
我有一个接受单个数字(例如int
or float
)的函数,但也有一个list
类似的结构。此参数将始终作为list
.
将单个数字参数转换为列表并让列表成为的pythonic方法是什么?
我会假设这可行,但它提出了一个TypeError
:
def foo(a):
a = list(a)
a.append(5)
# and so on
我不想创建这样的列表列表:
def foo(a):
a = [a]
a.append(5)
# and so on
解决方案
你可以使用isinstance
喜欢
if (isinstance(a, list)):
# Do something
else:
# Do something
你可以isinstance
为任何类型做,比如 int。
但更 Pythonic 的方式可能是
try:
a.append(5)
except TypeError:
a = [a]
a.append(5)
推荐阅读
- java - 乐观锁模式和 session.get() vs session.createQuery()
- javascript - 反应 redux 等待状态改变,所以我可以映射
- html - HTML/CSS - 如何将两个 div 居中,即“sticky”和“inline-block”?
- little-man-computer - 小人电脑 - 我正在寻找正确的答案
- compilation - 如何在交叉编译中添加 sysroot 选项?
- python - 上传 Csv 文件 Google colab
- discord.js - 检查用户是否有权限?
- angular - 从 Observable 中移除值
- python - 我如何计算这个递归函数的移动次数?
- python - 加密模块未安装