То, что вы пытаетесь сделать, невозможно со словарями. Фактически, это противоречит всей идее за словарями.
Кроме того, ваш класс Sets
вам не поможет, так как он дает каждому имени новый (произвольный) хэш-код, что затрудняет извлечение элементов из словаря, кроме проверки все предметы, которые побеждают цель dict. Вы не можете сделать dict.get(Sets(some_name))
, так как это создаст новый объект new Sets
, имеющий другой хэш-код, чем тот, который уже есть в словаре!
Вместо этого вы можете:
(name, value)
или pairs = zip(names, values) # or list(zip(...)) in Python 3
dictionary = {}
for n, v in zip(names, values):
dictionary.setdefault(n, []).append(v)
Первый подход, используя списки кортежей, будет иметь линейное время поиска (в основном вы должны проверить все записи), а второй - отображение битов в списки, так же близко, как вы можете добраться до «multi-key-dicts» и должны хорошо служить вашим целям. Чтобы получить доступ к значениям для каждой клавиши, сделайте следующее:
for key, values in dictionary.iteritems():
for value in values:
print key, value
Не используйте контроллер репликации. Они заменены ReplicaSet.
В вашем случае используйте объект развертывания для управления жизненным циклом приложения. При развертывании вы сможете управлять непрерывным обновлением и функциями rollbabk для kubernetes
Объект развертывания работает на один уровень выше ReplicaSet и позволяет вам обновить приложение до новой версии с нулевым временем простоя