Что сделать что бы при print списка выводились нормальные данные а не что то непонятное?

Если вам при использовании функции print для списка выводятся непонятные данные, это может быть вызвано тем, что объекты в списке не преобразуются автоматически в строковый формат. Вместо этого, по умолчанию, выводится информация о типе и адресе памяти каждого элемента списка.

Есть несколько способов решить эту проблему и получить более понятный вывод при печати списка:

1. Использование str.join(): Вы можете использовать метод join с пустой строкой в качестве разделителя, чтобы преобразовать каждый элемент списка в строковый формат, а затем объединить их в одну строку. Например:

my_list = [1, 2, 3, 4, 5]
print(' '.join(str(x) for x in my_list))

2. Использование str.replace(): Если элементы списка уже являются строками, но содержат нежелательные символы, вы можете использовать метод replace для замены этих символов на более понятные. Например:

my_list = ['apple', 'banana', 'orange']
print(str(my_list).replace(',', ' '))

3. Использование pprint: Модуль pprint предоставляет удобный способ красивой печати сложных структур данных, включая списки. В результате при печати список будет разделен построчно и легко читаемо. Например:

import pprint

my_list = [1, 2, 3, 4, 5]
pprint.pprint(my_list)

4. Пользовательская функция вывода: Если вы хотите полный контроль над тем, как объекты в списке будут преобразовываться в строковый формат, вы можете определить собственную функцию для печати списка. Например:

def print_list(lst):
    for item in lst:
        print(item)

my_list = [1, 2, 3, 4, 5]
print_list(my_list)

В зависимости от вашего конкретного случая, один из этих подходов должен решить проблему с непонятным выводом списка при использовании функции print.