我一直在我的python代码中执行此操作。我愿意打赌有一种更容易(也就是一线)的方式来做到这一点。
results = getResults()
if len(results) > 0:
result = results[0]
我其他地方实际上并不需要“结果”,而且我应该只运行一次“getResults”。
有什么想法吗?
答案 0 :(得分:8)
如果result
为空,您还没有指定results
应该是什么,但这是一个选项(假设Python 2.6或更高版本):
result = results[0] if results else None
答案 1 :(得分:2)
result = len(results) and results[0] or None
。如果结果[0]不是0
,或False
,或任何空容器[], (), '', {}, set(), ...
。
答案 2 :(得分:1)
next(iter(getResults()), None)
答案 3 :(得分:0)
如果你实际上并不需要results
,请考虑一个只返回第一个结果的函数,然后使用它。
def getFirstResult():
results = getResults()
if len(results) > 0:
return results[0]
else:
return None
答案 4 :(得分:0)
如果您可以沿着这些方向略微更改getResults()
:
def getResults():
# ...
getResults.seq = ... # save results in a func attribute
return getResults.seq
它可以让你写:
results = getResults.seq[0] if getResults() else None