Python 从作为值存储在字典中的元组中提取整数

Python 从作为值存储在字典中的元组中提取整数,python,dictionary,integer,key-value,Python,Dictionary,Integer,Key Value,我试图将存储为元组的整数提取为字典中的值 my_dict = {'String': ('123', '456', '789')} 目标: 我试过了 for k,v in my_dict.items(): a = v[0] 或者通过更改for循环 for item in my_dict.values(): a = item[0] 对于两个版本: 'int' object is not subscriptable 为什么要使用heckint?这不是一个元组吗 我尝试了一些其他

我试图将存储为元组的整数提取为字典中的值

my_dict = {'String': ('123', '456', '789')}
目标:

我试过了

for k,v in my_dict.items():
    a = v[0]
或者通过更改for循环

for item in my_dict.values():
    a = item[0]
对于两个版本:

'int' object is not subscriptable
为什么要使用heck
int
?这不是一个元组吗

我尝试了一些其他的选择,但我已经忘记了,但也不起作用。 到现在为止,我只学了一个月的python,所以我希望我错过了一些明显的东西

任何提示都将不胜感激

干杯, 弗洛里安

更新1: 我的实际代码。最后三行是我将列表元素作为值添加到我的目录中的地方

my_dict = dict()
for x in file_handle:
    if "string" in x:
        y = x.strip()
        z = y[7:-8]
        my_dict[z] = my_dict.get(z,0) + 1
    elif "date" in x:
        cleanedup = x.strip()
        titledate = cleanedup[23:-27]
        # titledate = titledate.replace("-", ",")
        year = titledate[:4]
        month = titledate[5:-3]
        month = month.lstrip("0")
        day = titledate[8:]
        day = day.lstrip("0")
        titledate = list()
        titledate.append(year)
        titledate.append(month)
        titledate.append(day)
        my_dict[z] = my_dict.get(z, 0) + 1
        my_dict_temp = {z: (year, month, day)}
        my_dict.update(my_dict_temp)
更新2: 其应用是,我想检查作为元组存储的日期作为我的dict中的值是否在今天-7天的日期范围内

import datetime
today = datetime.date.today()
margin = datetime.timedelta(days = 7)
for k,v in my_dict.items():
if today - margin <= datetime.date(v):
    print("Within date range")
导入日期时间
今天=datetime.date.today()
边距=datetime.timedelta(天数=7)
对于我的目录项()中的k,v:

如果今天-margin您可以使用元组解包来一次性分配它们

my_dict = {'String': ('123', '456', '789')}

a,b,c = my_dict['String']

print(a,b,c)

#prints

123 456 789
如果您希望将它们设置为
int
,您可以

a,b,c = [int(x) for x in my_dict['String']]

您显示的代码有效。错误一定在别的地方;想必,
my_dict
并不像你想象的那样。请尝试生成一个可以单独测试并产生错误的最小示例。它们仍然需要转换为
int
。使用转换为
int
的选项更新答案。好的,这是我没有想到的方法。第一个变量给出了以下错误:无法解包不可iterable int对象第二个错误:“int”对象不可iterable,尽管@Karl Knechtel有一点道理!当我像我的示例代码中那样从头开始创建字典时,您的解决方案是有效的。虽然我实际字典的语法看起来完全一样。将我的实际代码添加到问题中。
my_dict = {'String': ('123', '456', '789')}

a,b,c = my_dict['String']

print(a,b,c)

#prints

123 456 789
a,b,c = [int(x) for x in my_dict['String']]