Как сопоставить один список с другим в 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 elasticsearch
  • Каков наилучший способ получить список запущенных процессов в unix с python?
  • Команды выхода Python - почему так много и когда каждый должен использоваться?
  • транспонированная матрица python и zip
  • Проблемы с очисткой веб-сайта Python
  • Чтение большого файла с помощью Python
  • суммирование проб кости и графика гистограммы
  • Что делает оператор <> в python?
  • как отменить расписание python
  • Как перезапустить программу на основе ввода пользователем?
  • AppIdentityError: неправильный получатель при проверке токена
  • Python - лучший язык программирования в мире.