Всем привет!
есть проблема, есть список, делаю словарь ключом является символ из списка а его значением то сколько раз он содержится в списке.
мне нужно удалить из списка уникальные элементы то есть те которые встречаются один раз.
и нужно учитывать что "X" и 'x' это один и тот же символ.
Так вот проблема в том что из примера ниже не удаляются три числа 1, 8, 2 он их как будто пропускает и я не могу почему и где. Помогите понять в чем ошибка. Есть предположение что проблема возможна с кавычками и он просто пропускает их то есть если обращаться вот так [1] = error, а если так ['1'] = 1, но в тоже время [0] = 2 ноль он читает нормально хотя ключ в словаре тоже в кавычках.
Да код у меня ужасный. но какой есть, как умею.
check = ['X', 'H', 'e', 'V', 'm', 'l', 's', 1, 0, 'y', 'j', 'b', 'g', 'o',
'R', 'U', 'O', 'p', 'p', 8, 'Y', 'B', 'Y', 'O', 'r', 'E', 't', 'I',
'w', 'i', 'v', 'o', 2, 'd', 'Z', 'b', 'S', 'T', 'n', 0]
dct={}
for i in check:
a="{0}".format(i)
if a.islower() and not a.isdigit():
if a.upper() in dct:
dct[a.upper()]+=1
else:
dct[a.upper()]=1
else:
if a in dct:
dct[a]+=1
else:
dct[a]=1
for i in dct:
if i in check:
if dct[i] == 1:
check.remove(i)
else:
a="{0}".format(i.lower())
if a in check:
if dct[a.upper()] == 1 :
check.remove(a)
#print(dct['1'])
#print(dct['2'])
#print(dct['8'])
print(check)
print(dct)