Рассмотрит словарь как это:Сканирования Копания списков внутри словаря выбранных групп
dic={ 'PC2': ['02:02:02:02:02:02', '192.168.0.2', '200'],
'PC3': ['03:03:03:03:03:03', '192.168.0.3', '200'],
'PC1': ['01:01:01:01:01:01', '192.168.0.1', '200'] }
Как искать конкретное значение внутри списка? Во-первых, я хочу, чтобы пользователь вводил имя хоста и ip. например 'PC1'
и 192.168.0.1
, а затем мне нужно выяснить, был ли 192.168.0.1
уже назначен другому хосту в словаре. В этом случае мне нужно будет пропустить поиск внутри списка, назначенного входному хосту пользователя.
Другими словами, если пользовательские входы 'PC1'
и 192.168.0.1
, я хотел бы пропустить поиск в значениях 'PC1'
. Поэтому он должен обнаруживать совпадения только с разными хостами, пропуская 'PC1'
.
Если я ввожу 'PC4'
и 192.168.0.1
, тогда он должен обнаружить конфликт с ПК1. Таким образом, PC4 не будет вставлен или будет удален, если он уже присутствует.
Мое текущее решение:
z=raw_input("Enter Host, Mac, ip and time")
t=z.split()
t[0]=z[1:]
for key in dic:
if t[2] in dic[key]:
del dic[t[0]]
else:
dic[t[0]] = t[1:]
Почему вы используете список? он не поддерживает работу, в которой вы нуждаетесь. –
Что такое 'dic' и почему вы переопределяете' z'? – Elisha
Извините, это была опечатка. – user3238040