我有一个元组,如下所示:
我想按照以下方式基于
生成的列表
这可以通过先将
但是有没有更有效率的方式(也许是一种功能性的方式)呢?
t = ((4, 3), (2, 9), (7, 2), ...)
,其中每个嵌套元组的第一个元素(即t[i][0]
)可以在1到11之间且不重复,但并不一定包含1到11之间的每个整数。我想按照以下方式基于
t
创建一个列表(或元组)r
:生成的列表
r
具有长度为11。对于r
中的每个索引j
,如果存在任何i
使得j + 1 === t[i][0]
,则r[j] = t[i][1]
,否则r[j] = 0
。这可以通过先将
r
初始化为[0] * 11
,然后循环遍历t
来将t[i][1]
赋值给r[t[i][0] - 1]
来完成:t = ((4, 3), (2, 9), (7, 2), (10, 1))
r = [0] * 11
for item in t:
r[item[0] - 1] = item[1]
r = [0, 9, 0, 3, 0, 0, 2, 0, 0, 1, 0]
但是有没有更有效率的方式(也许是一种功能性的方式)呢?
t
的预期r
值吗? - arshajii