Присоединение "," к каждому элементу в списке целых чисел - PullRequest
0 голосов
/ 12 мая 2019

Я хочу добавить ",", а затем индекс элемента к каждому элементу в списке целых чисел.

Я знаю, что мне нужно преобразовать целые числа в строки, прежде чем я это сделаю, но даже если ясделать это, это не работает:

(я использую Python 3.7.3)

for element in mylist:
    element = str(element)
    element = "{0},".format(element)
    element = element + mylist.index(element)

Что я хочу:

mylist = ["97,0", "569,1", "39,2", "230,3",....]

Ответы [ 3 ]

1 голос
/ 12 мая 2019

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

for i, val in enumerate(mylist[:]):  # note the empty slice there -- that creates a whole copy!
    mylist[i] = f"{val},{i}"

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

for i, val in enumerate(mylist):
    mylist[i] = f"{val},{i}"

, но это опасная привычка, чтобы проникнуть в нее без полного понимания того, что вы можете и не можете сделать со списком, который выперебираяЕсли вашей целью было сделать , а также удалить 10-й элемент (или т. Д.), Вам придется сделать копию.Точно так же, если вы хотите вставить новый элемент перед значением 97, и т. Д.

Как правило, следует избегать изменения списка, если это возможно, и создавать новый, используя понимание списка, как рекомендуется в Ответ ShapeOfMatter

1 голос
/ 12 мая 2019

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

Вы хотите список пониманий , а функция перечисления .

new_list = ["{0},{1}".format(item, index) for (index, item) in enumerate(old_list)]
0 голосов
/ 12 мая 2019
mylist = [97,0, 569,1, 39,2, 230,3]
for items in mylist:
    (str(items))
    print('\"{0}\"'.format(items))

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...