gpt4 book ai didi

python - 从元组的元组中创建一个列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:55 24 4
gpt4 key购买 nike

我有一个像这样的元组的元组:t = ((4, 3), (2, 9), (7, 2), ...),其中第一个元素在每个嵌套元组(即 t[i][0])的范围可以从 1 到 11 不重复,但不一定会出现 1 到 11 之间的每个整数。

我想根据t创建一个列表(或元组)r,方法如下:

结果列表 r 的长度恰好为 11。对于 r 中的每个索引 j,如果 j + 1 === t[i][0] 对于任何 i,则 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
((4, 3), (2, 9), (7, 2), (10, 1))
>>> d = dict(t)
>>> [d.get(el, 0) for el in xrange(1, 12)]
[0, 9, 0, 3, 0, 0, 2, 0, 0, 1, 0]

关于python - 从元组的元组中创建一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18659238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com