Я анализирую журнал, содержащий псевдонимы и имена хостов. Я хочу закончить с массивом, который содержит имя хоста и последний использованный псевдоним.
У меня есть следующий код, который создает список только по именам хостов:
hostnames = []
# while(parsing):
# nick = nick_on_current_line
# host = host_on_current_line
if host in hostnames:
# Hostname is already present.
pass
else:
# Hostname is not present
hostnames.append(host)
print hostnames
# ['foo@google.com', 'bar@hotmail.com', 'hi@to.you']
Я подумал, что было бы неплохо закончить с чем-то вроде следующего:
# [['foo@google.com', 'John'], ['bar@hotmail.com', 'Mary'], ['hi@to.you', 'Joe']]
Моя проблема в том, чтобы узнать, присутствует ли имя хоста в таком списке
hostnames = []
# while(parsing):
# nick = nick_on_current_line
# host = host_on_current_line
if host in hostnames[0]: # This doesn't work.
# Hostname is already present.
# Somehow check if the nick stored together
# with the hostname is the latest one
else:
# Hostname is not present
hostnames.append([host, nick])
Есть ли какое-нибудь легкое решение этой проблемы, или я должен попробовать другой подход? Я всегда мог иметь массив с объектами или структурами (если в Python есть такая вещь), но я бы предпочел решение моей проблемы с массивами.