我有一本字典
tickers = {'BTC': [200, 149, 98, 44], 'ETH': [200, 320, 405, 460]}
now
和{
我们比较这个元素和列表中的前一个元素。在
例如在BTC中:
^{pr2}$149 with 200
98 with 149
44 with 98
我想买一本每天都有行情和状态的新词典。 第一天没有状态,因为第一天没有前一天。在
tickers_state = {'BTC': [None, 3, 3, 3], 'ETH': [None, 1, 0, 0]}
元素在每个股票代码的每一天都有状态。在
我该怎么做?在
如果将},那么将函数应用于列表中连续的值对的问题就变得相当容易了。我想出了以下函数:
check_state
的输入参数的顺序从def check_state(now, prev):
颠倒到{用法示例:
^{pr2}$如果无法反转输入:
如果不可能改变输入顺序,我们可以采用我们的函数:
你可以这样使用它:
说明:
为了获得连续的元素对,我们可以使用^{} 配方中的helper函数:
它是这样工作的:
现在,对于每一对元素,我们将应用您的} 可能很有用。它是这样工作的:
check_state
函数。这里^{唯一剩下的事情是将} 将第一个{}与其余元素组合起来。在
starmap
产生的值加上None
。当starmap
生成一个iterator时,我们可以使用^{注:将此应用于您的
tickers
dict的值应该很容易。我把它留给你。在您可以使用一个函数来比较列表中的每个连续值对,该函数循环遍历列表并使用enumerate启用对上一个列表项进行比较的访问。然后将dict comprehension与函数一起使用,生成原始dict的映射版本,其中包含比较的值。在
在下面的示例中,它从第二个列表项开始循环遍历列表的一个片段,因此前一个元素被当前值
i
访问,因为该片段实际上已将索引值移动了1。在相关问题 更多 >
编程相关推荐