如何在 Python3 中的 defaultdict 中的特定索引处插入值
How to insert values at specific index in defaultdict in Python3
我是 Python 的初学者,我想做的是在与我在 Python 3 中的键关联的值列表中的特定索引中添加一个元素,使用默认字典。
我的default_dict结构如下:
default_dict = ['label_1':[list of doubles], 'label_2':[list of doubles], etc..]
假设我有一个双 d = 6.5
并且我想将其作为键值插入列表:label_1
在特定索引中。
如果我的列表是:[12.3, 11.8, 8.6, 5.8, 3.1]
我想在 8.6
和 5.8
之间插入我的 d = 6.5
我知道像 default_dict[label_1].append(d)
这样的调用会产生这样的列表:
[12.3, 11.8, 8.6, 5.8, 3.1, 6.5]
有没有我可以使用的功能,例如:
default_dict[label_1].add(d, index_to_insert)
?
我以为我可以获取整个列表,自己修改它并将新列表与旧列表切换,但我认为这是一个繁重的调用(我需要调用很多时间)而且我需要更有效的方法!
提前致谢!
使用list.insert(index,object)
添加到列表的特定索引。
请注意,如您所指,您必须对 default_dict
中的内部列表执行此操作。
例如:
>>li1 = [1,2,3,4,5]
>>li1.insert(5,8)
>>li1
[1, 2, 3, 4, 5, 8]
>>li1.insert(1,99)
>>li1
[1, 99, 2, 3, 4, 5, 8]
更有效的方法也是slicing,如果您在特定索引处插入单个或多个元素而不替换现有值。
>>li1 = [1,2,3,9,6,4,9,0]
>>li1[3:3] = [7]
>>li1
[1, 2, 3, 7, 9, 6, 4, 9, 0]
请注意 time complexity 因为 insert
是 O(n)
而 slicing
是 O(k)
我是 Python 的初学者,我想做的是在与我在 Python 3 中的键关联的值列表中的特定索引中添加一个元素,使用默认字典。
我的default_dict结构如下:
default_dict = ['label_1':[list of doubles], 'label_2':[list of doubles], etc..]
假设我有一个双 d = 6.5
并且我想将其作为键值插入列表:label_1
在特定索引中。
如果我的列表是:[12.3, 11.8, 8.6, 5.8, 3.1]
我想在 8.6
和 5.8
d = 6.5
我知道像 default_dict[label_1].append(d)
这样的调用会产生这样的列表:
[12.3, 11.8, 8.6, 5.8, 3.1, 6.5]
有没有我可以使用的功能,例如:
default_dict[label_1].add(d, index_to_insert)
?
我以为我可以获取整个列表,自己修改它并将新列表与旧列表切换,但我认为这是一个繁重的调用(我需要调用很多时间)而且我需要更有效的方法!
提前致谢!
使用list.insert(index,object)
添加到列表的特定索引。
请注意,如您所指,您必须对 default_dict
中的内部列表执行此操作。
例如:
>>li1 = [1,2,3,4,5]
>>li1.insert(5,8)
>>li1
[1, 2, 3, 4, 5, 8]
>>li1.insert(1,99)
>>li1
[1, 99, 2, 3, 4, 5, 8]
更有效的方法也是slicing,如果您在特定索引处插入单个或多个元素而不替换现有值。
>>li1 = [1,2,3,9,6,4,9,0]
>>li1[3:3] = [7]
>>li1
[1, 2, 3, 7, 9, 6, 4, 9, 0]
请注意 time complexity 因为 insert
是 O(n)
而 slicing
是 O(k)