удалить символы из списка и добавить разрыв строки из каждого элемента - PullRequest
0 голосов
/ 07 августа 2020

Я работаю над проектом, в котором я должен создать некоторые объекты, для этого использовать словарь, в котором объекты сохраняются с их идентификатором, теперь мне нужно, чтобы отображался только атрибут объектов, без необходимости идентификатора, для этого преобразовать значения словаря в список, но я не могу удалить такие вещи, как [] или дать разрывы строк

мой код:

class myclass():
   
    def __init__(self, x):
        self.x = x 




    list_obj = [] 
    list_attrs = []
    list_values = []
    for i in range (3):
        obj = myclass(' U')
        y= list_obj.append(obj)
        b=list(y.b())
        list_values.append(b)
        

print(list_values)

мой результат:

['U'], ['U'], ['U']]

Есть идеи, как это сделать? Я попытался использовать полосу, но это не дало мне желаемого результата, или я даже подумал преобразовать весь список в строку, и, возможно, я мог бы это сделать, но Я не могу этого понять.

Ответы [ 2 ]

2 голосов
/ 07 августа 2020

Проблема в том, что вы не печатаете строку, вы печатаете список. Python print имеет встроенную функцию для печати подобных списков. Чтобы отформатировать список другими способами, вы можете проверить это https://www.geeksforgeeks.org/print-lists-in-python-4-different-ways/

Один из способов сделать то, что вы хотите:

for v in list_values:
    print(*v, sep='\n')
1 голос
/ 07 августа 2020

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

lst = [['Ultra1', 'Max1', 3], ['Ultra2', 'Max2', 3], ['Ultra3', 'Max3', 3]]
string = "\n".join([str(item) for sublist in lst for item in sublist])
print(string)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...