преобразовать строку c тремя компонентами в кортеж tuple с изменением типа данных

Рейтинг: 0Ответов: 1Опубликовано: 10.02.2023

Я только учусь Python (начинающий) и у меня возник вопрос. Суть вопроса в том, что имеются списки со строками типа: ["255, 255, 255", "0, 0, 0"...] как преобразовать "255, 255, 255" в кортеж так, чтобы были отдельные числа типа int а не str (255, 255, 255)? Я понимаю как это сделать через цикл, но есть и другой аспект. Вводятся строки типа: "0->255, 255, 255" и чтобы их разделить я использую split, соответственно оба разделения имеют тип str. Можно ли как-то разделить таким же способом, только чтобы был тип данных другой? Спасибо.

for j in range(int(input())):
key, value = input().split("->")
nums[key] = value
for z in range(len(colored_data)):
    for q in range(len(colored_data[z])):
        if colored_data[z][q] in nums.keys():
            colored_data[z][q] = nums[key]

В данном коде сначала происходит создание словаря, а потом если ключ словаря есть во вложенном списке, то соответствующий элемент вложенного списка заменяется на значение ключа, мне как раз надо, чтобы значение ключа было tuple типа (255, 255, 255) с типом int

Ответы

▲ 1Принят

чтобы строку '255, 255, 255' сделать списком int-ов можно использовать map:

nums[key] = tuple(map(int, value.split(',')))