【发布时间】:2014-04-28 00:52:10
【问题描述】:
我经常遇到这样的情况,即查询一些返回列表的数据源,但我希望该列表只包含一个元素。现在我做:
el = result_list[0]
如果列表为空,可能会在 try 块中。但是,我不喜欢它。什么是最好的方法?这样做会很酷:
el = result_list.only()
如果列表为空或包含多个元素,这可能会导致呕吐。
【问题讨论】:
-
Pythonic 通常不会在这样的事情上失败,但如果你需要,我会检查 len==1 并在必要时引发 ValueError。
-
很多东西(比如数据库)为
fetch_one而不是fetch_all提供了一个API,所以如果所说的源提供这样的方法(或者你可以写一个)我会这样做。跨度>
标签: python list built-in idioms