Изменение типа указанного элемента c в списке - python - PullRequest
0 голосов
/ 19 марта 2020

Как часть моего кода, мне нужно перейти к указанному c индексу моего списка (который получен из CSV-файла) и изменить тип этих элементов с str на INT . Однако, когда я перебираю индексы, конвертирую их, элементы не меняют свой тип на int.

Я очень озадачен, почему и как я могу это сделать?

    def generate_order(bom, parts_cost_filename):

    myfile = open(parts_cost_filename,'r')

    # Retrieving the headers for each of the files part name and the price
    header =  csv.reader(myfile) 

    header_list = []

    for line in header:
        header_list += line
        break

    header_list = list(header_list)
    for number in header_list[1:1]:
        number = int(number)

    print(header_list)


    myfile.close()

1 Ответ

0 голосов
/ 19 марта 2020

Я не помню точную причину этого, но в основном ваша number переменная в for для l oop является неизменной отдельной переменной, а не ссылкой на память , поэтому, если вы присваиваете ему новое значение, оно не меняет первоначальный список.

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

for index in range(len(some_list)):
    some_list[index] = int(some_list[index])

или лучше тем не менее, используйте генератор Pythoni c:

some_list = [int(x) for x in some_list]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...