Python 感悟
Python Comprehensions
我有一个元组列表,每个元组看起来像 (i,x)。
i = 指数
x = 值
我需要 return 一个新列表(仅使用理解),每个值都将在“正确”索引中。如果缺少索引,我们将使用值 -1000 来填补空白。
例如:
输入:[(4,9), (0,2), (1,4), (3,2)]
输出应为:[2, 4, -1000, 2, 9]
我正在尝试使用索引函数,我正在尝试获取元组的索引 (1,2)
,而我只“知道”第一个元素,第二个可以是任何元素。
我想通过搜索(1,___)
得到元组(1,2)
的索引,可以吗?
- ___为正整数
return [sorted(L)[sorted(L).index((i,))][1] if i in [sorted(L)[j][0] for j in range(0,len(L))] else -1000 for i in range(sorted(L)[len(L)-1][0]+1)]
- 我可以使用list/dict/set理解,单行。
谢谢大家的帮助!
借助将索引映射到值的字典,我们可以轻松高效地获取索引的值:
[g(i, -1000) for g in [dict(L).get] for i in range(max(L)[0] + 1)]
我有一个元组列表,每个元组看起来像 (i,x)。
i = 指数
x = 值
我需要 return 一个新列表(仅使用理解),每个值都将在“正确”索引中。如果缺少索引,我们将使用值 -1000 来填补空白。
例如:
输入:[(4,9), (0,2), (1,4), (3,2)]
输出应为:[2, 4, -1000, 2, 9]
我正在尝试使用索引函数,我正在尝试获取元组的索引 (1,2)
,而我只“知道”第一个元素,第二个可以是任何元素。
我想通过搜索(1,___)
得到元组(1,2)
的索引,可以吗?
- ___为正整数
return [sorted(L)[sorted(L).index((i,))][1] if i in [sorted(L)[j][0] for j in range(0,len(L))] else -1000 for i in range(sorted(L)[len(L)-1][0]+1)]
- 我可以使用list/dict/set理解,单行。
谢谢大家的帮助!
借助将索引映射到值的字典,我们可以轻松高效地获取索引的值:
[g(i, -1000) for g in [dict(L).get] for i in range(max(L)[0] + 1)]