Словари в Python - PullRequest
       30

Словари в Python

2 голосов
/ 07 ноября 2010

У меня есть словарь, в котором в качестве ключа используется название места, а в качестве значения - несколько списков слов, например, 1 запись выглядит так:можно получить общие слова, связанные с каждым местом?Я хотел бы, чтобы мой вывод получился глупым и новым как общие слова для словаря.

Ответы [ 3 ]

2 голосов
/ 07 ноября 2010

Эта функция берет список из списка слов и возвращает все слова, найденные во всех списках.
например, get_common_words([['hi', 'hello'], ['bye', 'hi']]) возвращает ['hi']

def get_common_words(places):
    common_words = []
    for word in places[0]:
        is_common = all(word in place for place in places[1:]) #check to see that this word is in all places
        if is_common:
            common_words.append(word)
    return common_words

или гигантское-liner:

get_common_words = lambda places: [word for word in places[0] if all(word in place for place in places[1:])]

или просто воспользуйтесь одним из методов, предложенных в комментариях к этому ответу.

1 голос
/ 07 ноября 2010

Если список содержит только слова, используйте объединение.

>>> k = [u'silly', u'i', u'wish!', u'lol']
>>> " ".join(k)
u'silly i wish! lol'
>>> 
1 голос
/ 07 ноября 2010

print ', '.join(dictname['myPlaceName'])

Это создаст разделенный запятыми список всех записей в списке. Замените dictname именем вашего диктанта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...