Вот не оптимальный способ, используйте только, если списки невелики:
for str1 in string_list:
for str2 in string_list:
if str1 in str2:
string_list.remove(str1)
Значением по умолчанию для int
значений в map
является 0
. Итак, когда вы выполняете итерацию по x
и вызываете m[e]++
, расширенная версия будет иметь вид
m[e] = m[e] + 1
Другими словами:
m[e] = 0 + 1
Конечно, если поле повторяется он уже будет на карте (с некоторым значением> 0).
Когда вы проверяете длину карты после цикла, она дает количество уникальных полей в строке.