Skip to main content
 首页 » 编程设计

当预期列表仅包含单个元素时获取列表元素的 Pythonic 方法

2025年05月04日16unruledboy

我经常遇到这样的情况:我正在查询一些返回列表的数据源,但我希望该列表只包含一个元素。现在我这样做:

el = result_list[0] 

可能在 try block 中以防列表为空。但是,我不喜欢它。什么是最好的方法?这样做会很酷:

el = result_list.only() 

如果列表为空或包含多个元素,这可能会让人呕吐。

请您参考如下方法:

在 Python 2 或 3 中:

>>> a, = [1] 
>>> a 
1 
 
>>> a, = [] 
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ValueError: need more than 0 values to unpack 
 
>>> a, = [1,2,3] 
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
ValueError: too many values to unpack (expected 1) 

在Python 3中,你也可以

>>> a,*_ = [1,2,3] 
>>> a 
1