Как получить список значений?
Потому что split('\n') возвращает список из одного элемента в виде исходной строки, так как переводов строк она не содержит.См. выше.Вы это хотите получить?{0: 'aaaa', 1: 'bbbbb', 2: 'ccccc'}
Тогда делайте так:for i in range(n):
    data = input().lower()             
    d[i] = data
1. Метод split возвращает спиок, если хотите избавится о переноса строки, то используйте метод strip.
2. input().lower() или input().lower().strip(). Под линуксом достаточно первого варианта.
3. Какой результат вы тут хотите получить?