Пожалуйста, помогите, я использую расширенный список, чтобы добавить несколько значений в список.

Мне нужно расширять список как новую строку для каждого расширения.

>>> list1 = []
>>> list1 = (['Para','op','qa', 'reason'])
>>> list1.extend(['Power','pass','ok', 'NA'])
>>> print list1
['Para', 'op', 'qa', 'reason', 'Power', 'pass', 'ok', 'NA']

Мне нужно предоставить этот список в CSV, и он должен напечатать, как две строки.

Para, op, qa, reason
Power, pass, ok, NA
0
kitty 28 Май 2017 в 17:57

2 ответа

Лучший ответ

Если вы хотели отдельные списки, сделайте их отдельными. Не используйте list.extend(), используйте добавление :

list1 = [['Para','op','qa', 'reason']]  # brackets, creating a list with a list
list1.append(['Power','pass','ok', 'NA'])

Теперь list1 - это список с двумя объектами, каждый из которых является списком:

>>> list1
[['Para', 'op', 'qa', 'reason'], ['Power', 'pass', 'ok', 'NA']]

Если вы используете csv модуль, чтобы написать свой CSV файл, используйте csvwriter.writerows() метод записать каждую строку в отдельную строку:

>>> import csv
>>> import sys
>>> writer = csv.writer(sys.stdout)
>>> writer.writerows(list1)
Para,op,qa,reason
Power,pass,ok,NA
3
Martijn Pieters 28 Май 2017 в 14:59

Ваш желаемый результат, list1, должен быть списком из двух элементов, каждый из которых является списком сам по себе.

list1 = ['Para','op','qa', 'reason']
# wrapping list1 with [] crates a new list which its first element is the original list1.
# In your case, this action gives a list of lines with only one single line
# Only after that I can add a new list of lines that contains another single line
list1 = [list1] + [['Power','pass','ok', 'NA']]
print (list1)
0
user6456078user6456078 28 Май 2017 в 15:11