Как сопоставить один список с другим в python?

['a','a','b','c','c','c'] 

в

 [2, 2, 1, 3, 3, 3] 

а также

 {'a': 2, 'c': 3, 'b': 1} 

8 Solutions collect form web for “Как сопоставить один список с другим в python?”

 >>> x=['a','a','b','c','c','c'] >>> map(x.count,x) [2, 2, 1, 3, 3, 3] >>> dict(zip(x,map(x.count,x))) {'a': 2, 'c': 3, 'b': 1} >>> 

Это кодирование должно дать результат:

 from collections import defaultdict myDict = defaultdict(int) for x in mylist: myDict[x] += 1 

Конечно, если вам нужен список inbetween результата, просто получите значения из dict (mydict.values ​​()).

Используйте set чтобы только подсчитывать каждый элемент один раз, использовать count метода списка, чтобы подсчитать их, сохранить их в dict с ключом item, а вхождение – значением.

 l=["a","a","b","c","c","c"] d={} for i in set(l): d[i] = l.count(i) print d 

Вывод:

 {'a': 2, 'c': 3, 'b': 1} 

На Python ≥2.7 или ≥3.1 у нас есть встроенные коллекции структуры данных. Задание для подсчета списка

 >>> l = ['a','a','b','c','c','c'] >>> Counter(l) Counter({'c': 3, 'a': 2, 'b': 1}) 

После этого легко построить [2, 2, 1, 3, 3, 3] .

 >>> c = _ >>> [c[i] for i in l] # or map(c.__getitem__, l) [2, 2, 1, 3, 3, 3] 
 a = ['a','a','b','c','c','c'] b = [a.count(x) for x in a] c = dict(zip(a, b)) 

Я включил ответ Вима. Отличная идея

Второй может быть просто

 dict(zip(['a','a','b','c','c','c'], [2, 2, 1, 3, 3, 3])) 

Для первого:

l = ['a', 'a', 'b', 'c', 'c', 'c']

Карта (l.count, л)

 d=defaultdict(int) for i in list_to_be_counted: d[i]+=1 l = [d[i] for i in list_to_be_counted] 
  • указать, находится ли python в режиме -i
  • Проверьте, запущен ли скрипт python
  • Сервер AppEngine не может импортировать модуль атома
  • Должен ли я объединять изображения в памяти (.py) или в виде (HTML)?
  • Что случилось с этим методом для копирования файла в Python?
  • ссылка перед ошибкой присваивания в python
  • Декодер Python для обеспечения правильности kwargs
  • Добавление спецификации (подпись юникода) при сохранении файла в python
  • Python - лучший язык программирования в мире.