gpt4 book ai didi

python - 在循环遍历列表时将值插入列表 (Python)

转载 作者:行者123 更新时间:2023-11-28 22:02:10 25 4
gpt4 key购买 nike

我有以下列表列表:

sweet = [['1234-4321-1',[5, 6, -4, 11, 22]], ['1234-7834-1', [43, -5, 0, 0, -1]], ['1234-5376-1', [3, 0, -5, -6, 0]], ['1567-3454-1', [4, 6, 8, 3, 3]], ['1567-9987-1-', [1, 2, 1, -4, 5]]]

我希望遍历列表列表并用 # 字符分隔不同的子列表组,即我希望在子列表字符串的第一个元素更改时插入 #。

想要的结果

>>sweet
>>[['1234-4321-1',[5, 6, -4, 11, 22]], ['1234-7834-1', [43, -5, 0, 0, -1]], ['1234-5376-1', [3, 0, -5, -6, 0]], '#', ['1567-3454-1', [4, 6, 8, 3, 3]], ['1567-9987-1-', [1, 2, 1, -4, 5]]]

也许是微不足道的任务,但我是 Python 的新手,非常感谢帮助。

编辑

我知道现在字典可能是更好的数据结构,因此可能不需要“#”键,我的目标是将它用作站的分隔符(字符串中的第一个数字)以便我可以在遍历列表的同时单独计算站点。

您看到的我的目标是迭代列表(应该使它成为一个字典)并计算每个重要的第一个数字中的整数列表对之间的差异。所需的最终结果如下所示:{'1234': [[-38, 11, -4, 11, 23], [40, -5, 5, 6, -1]] '1567':[[3, 4, 7, 11, -2]] }

对此的任何帮助也非常感谢:)

最佳答案

您的数据似乎可以更好地组织为字典。像这样:

sweet = {'1234-4321-1': [5, 6, -4, 11, 22], 
'1234-7834-1': [43, -5, 0, 0, -1],
'1234-5376-1': [3, 0, -5, -6, 0],
'1567-3454-1': [4, 6, 8, 3, 3],
'1567-9987-1': [1, 2, 1, -4, 5] }

然后您可以通过 key 访问元素,如 sweet['1234-4321-1'] 那样,这将返回您的第一个列表。

或者因为第一个数字似乎是要分割的关键元素,所以有点复杂:

sweet = {'1234': [['4321-1', [5, 6, -4, 11, 22]], 
['7834-1', [43, -5, 0, 0, -1]],
['5376-1', [3, 0, -5, -6, 0]]],
'1567': [['3454-1', [4, 6, 8, 3, 3]],
['9987-1', [1, 2, 1, -4, 5]]]
}

然后说 sweet['1234'] 会给你一个你可以通过索引寻址的对列表。 sweet['1234'][0] 给出列表中的第一个条目。

也就是说,您可以通过执行以下操作来插入“#”:

sweet = [['1234-4321-1',[5, 6, -4, 11, 22]], ['1234-7834-1', [43, -5, 0, 0, -1]], ['1234-5376-1', [3, 0, -5, -6, 0]], ['1567-3454-1', [4, 6, 8, 3, 3]], ['1567-9987-1-', [1, 2, 1, -4, 5]]]

skip = False
for i in range(len(sweet)-1):
if skip: #skip over the '#' that was just inserted
skip = False
continue
front_num_1 = sweet[i][0].split('-')[0]
front_num_2 = sweet[i+1][0].split('-')[0]
if front_num_1 != front_num_2:
sweet.insert(i+1, '#')
skip = True

print sweet

但正如其他人所解释的那样,这种数据结构似乎很薄弱。

关于python - 在循环遍历列表时将值插入列表 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11849088/

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