Вы можете использовать numpy структурированный массив, если хотите сохранить порядок:
a = np.array([("bob man", 0), ("bill kill", 5), ("nick", 5)], dtype=[('name', 'U10'), ('value', 'i4')])
new_entry = np.array([('bob man', 44)], dtype=[('name', 'U10'), ('value', 'i4')])
if new_entry['name'] in a['name']:
a['value'][a['name']==new_entry['name']] = new_entry['value']
else:
a = np.append(a, new_entry)
Я ожидаю, что он будет быстрее, чем словари, особенно если вы хотите добавить более одной записи, вы можете включить их все в new_entry
и немного изменить код, чтобы проверить, что происходит в массиве, чтобы быть быстрее.