有时候一个函数会返回一个列表,但你知道它只有一个元素。获取这个元素的方法如下:
a = somefunc()[0]
如果列表包含多个项,则它们将被默默丢弃。
这篇文章建议使用
(a,) = somefunc()
一条评论只是提出了
a, = somefunc()
两种方法的优点是,当数组具有超过一个元素时,会产生ValueError: too many values to unpack
错误。它们还适用于元组、集合和其他集合。
这些方法是否被认为是Pythonic或令人困惑?它们是否有任何缺点?
_,_,_,_a = somefunc()
,而不是a = somefunc()[4]
。 - kylieCattcursor.execute("select 1").fetchone()
。从SQL语句可以知道,fetchone
的返回值长度为1。 - chepner