Преобразование строки в словаре в кортеж

#python #python-3.x #dictionary #tuples

#python #python-3.x #словарь #кортежи

Вопрос:

У меня есть этот словарь, и я хотел бы преобразовать значения в кортеж с 3 целыми числами (день, месяц, год).

my_dict = {"date": "1.1.2020"]

Я буду рад некоторым указаниям. Заранее спасибо!

Комментарии:

1. Я имел в виду (1, 1, 2020)

2. Это то, что вы хотите. Он имеет в виду, какие данные у вас есть в качестве входных данных? Потому что то, что вы показываете, не является допустимой структурой данных Python.

3. @Guerrero Это будет ваше ожидаемое значение кортежа, а не ваш ввод — я спрашивал о последнем

Ответ №1:

Вы можете использовать map функцию

 tuple(map(int,'1.1.2020'.split('.'))) 
 

Ответ №2:

Предполагая, что у вас есть dict со строковыми значениями:

 my_dict = {"date": "1.1.2020"}
 

вы можете сделать следующее:

 my_dict = {k: tuple(int(x) for x in v.split(".")) for k, v in my_dict.items()}
 # Or
# my_dict = {k: tuple(map(int, v.split("."))) for k, v in my_dict.items()}

{'date': (1, 1, 2020)}