使用lambda或理解列表实现函数



堆栈!

我有以下代码。正如你所能做的,唯一的改变就是索引。

amount = response.json()['txrefs'][0]['tx_hash'] 
amount = response.json()['txrefs'][1]['tx_hash']
amount = response.json()['txrefs'][2]['tx_hash']
amount = response.json()['txrefs'][3]['tx_hash']

我试着用理解列表来实现它。但仍然没有成功。如何使用lambda或理解列表进行迭代?

您可能想到的理解语法如下:

amounts = [txref['tx_hash'] for txref in response.json()['txrefs']]

请注意,这会为您提供一个所有tx_hash值的列表,而不是一遍又一遍地覆盖同一个值。

如果你想定义一个函数来获得任意值以避免重复,那可能是:

get_txhash = lambda i: response.json()['txrefs'][i]['tx_hash']

但是没有理由在这里使用lambda而不是def

def get_txhash(i):
return response.json()['txrefs'][i]['tx_hash']

最新更新