Python 分配字典键';s值转换为另一个变量

Python 分配字典键';s值转换为另一个变量,python,Python,我想将“最小时间”分配给最小时间,“过滤阈值”分配给过滤阈值专家,“过滤屏幕”分配给过滤屏幕。 然而,我得到了这个错误 最小时间=j[“最小时间”] TypeError:字符串索引必须是整数,而不是str 这里不需要嵌套循环。您最终会迭代内部字典的键,因此当您到达错误行时,j只是字符串'min\u time',而不是字典条目。我已经对你的代码做了一些修改,这样它就不会在键中混合空格和下划线。看看这是否适合你 grammar = { 'expert' : { 'min_time' : 30, 'f

我想将“最小时间”分配给最小时间,“过滤阈值”分配给过滤阈值专家,“过滤屏幕”分配给过滤屏幕。
然而,我得到了这个错误

最小时间=j[“最小时间”]
TypeError:字符串索引必须是整数,而不是str


这里不需要嵌套循环。您最终会迭代内部字典的键,因此当您到达错误行时,
j
只是字符串
'min\u time'
,而不是字典条目。我已经对你的代码做了一些修改,这样它就不会在键中混合空格和下划线。看看这是否适合你

grammar = {
'expert' : {
'min_time' : 30,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
},

'expert2' : {
'min_time' : 2,
'filtered thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
 } 
}
for i in grammar:
    for j in grammar[i]:
        min_time = j['min_time']
        filtered_thresholds_expert = j['filtered_thresholds']
        filtered_screens = j['filtered_screens']
        ProcessThresholds(time_per_screen_percentage)

这里不需要嵌套循环。您最终会迭代内部字典的键,因此当您到达错误行时,
j
只是字符串
'min\u time'
,而不是字典条目。我已经对你的代码做了一些修改,这样它就不会在键中混合空格和下划线。看看这是否适合你

grammar = {
'expert' : {
'min_time' : 30,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
},

'expert2' : {
'min_time' : 2,
'filtered thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
 } 
}
for i in grammar:
    for j in grammar[i]:
        min_time = j['min_time']
        filtered_thresholds_expert = j['filtered_thresholds']
        filtered_screens = j['filtered_screens']
        ProcessThresholds(time_per_screen_percentage)

这里不需要嵌套循环。您最终会迭代内部字典的键,因此当您到达错误行时,
j
只是字符串
'min\u time'
,而不是字典条目。我已经对你的代码做了一些修改,这样它就不会在键中混合空格和下划线。看看这是否适合你

grammar = {
'expert' : {
'min_time' : 30,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
},

'expert2' : {
'min_time' : 2,
'filtered thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
 } 
}
for i in grammar:
    for j in grammar[i]:
        min_time = j['min_time']
        filtered_thresholds_expert = j['filtered_thresholds']
        filtered_screens = j['filtered_screens']
        ProcessThresholds(time_per_screen_percentage)

这里不需要嵌套循环。您最终会迭代内部字典的键,因此当您到达错误行时,
j
只是字符串
'min\u time'
,而不是字典条目。我已经对你的代码做了一些修改,这样它就不会在键中混合空格和下划线。看看这是否适合你

grammar = {
'expert' : {
'min_time' : 30,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
},

'expert2' : {
'min_time' : 2,
'filtered thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
 } 
}
for i in grammar:
    for j in grammar[i]:
        min_time = j['min_time']
        filtered_thresholds_expert = j['filtered_thresholds']
        filtered_screens = j['filtered_screens']
        ProcessThresholds(time_per_screen_percentage)

你不需要内环

grammar = {
'expert' : {
'min_time' : 30,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
},

'expert2' : {
'min_time' : 2,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
 } 
}
for i in grammar:
    j = grammar[i]
    min_time = j['min_time']
    filtered_thresholds_expert = j['filtered_thresholds']
    filtered_screens = j['filter_screens']
    ProcessThresholds(time_per_screen_percentage)
你可以把它进一步打磨到

for i in grammar:
    j = grammar[i]
    min_time = j['min_time']
    filtered_thresholds_expert = j['filtered_thresholds']
    filtered_screens = j['filtered_screens']
    ProcessThresholds(time_per_screen_percentage)

你不需要内环

grammar = {
'expert' : {
'min_time' : 30,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
},

'expert2' : {
'min_time' : 2,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
 } 
}
for i in grammar:
    j = grammar[i]
    min_time = j['min_time']
    filtered_thresholds_expert = j['filtered_thresholds']
    filtered_screens = j['filter_screens']
    ProcessThresholds(time_per_screen_percentage)
你可以把它进一步打磨到

for i in grammar:
    j = grammar[i]
    min_time = j['min_time']
    filtered_thresholds_expert = j['filtered_thresholds']
    filtered_screens = j['filtered_screens']
    ProcessThresholds(time_per_screen_percentage)

你不需要内环

grammar = {
'expert' : {
'min_time' : 30,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
},

'expert2' : {
'min_time' : 2,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
 } 
}
for i in grammar:
    j = grammar[i]
    min_time = j['min_time']
    filtered_thresholds_expert = j['filtered_thresholds']
    filtered_screens = j['filter_screens']
    ProcessThresholds(time_per_screen_percentage)
你可以把它进一步打磨到

for i in grammar:
    j = grammar[i]
    min_time = j['min_time']
    filtered_thresholds_expert = j['filtered_thresholds']
    filtered_screens = j['filtered_screens']
    ProcessThresholds(time_per_screen_percentage)

你不需要内环

grammar = {
'expert' : {
'min_time' : 30,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
},

'expert2' : {
'min_time' : 2,
'filtered_thresholds' : {'A':10,'B':10,'C':10,'D':10,'E':20,'I':10,'T':10,'H':10,'K':0,'J':0,'L':0,'M':0,'N':0,'O':0,'P':0,'Q':0,'R':0,'S':0},
'filter_screens' : ['H','I','J','K','L','M','N','O','P','Q','R','S']
 } 
}
for i in grammar:
    j = grammar[i]
    min_time = j['min_time']
    filtered_thresholds_expert = j['filtered_thresholds']
    filtered_screens = j['filter_screens']
    ProcessThresholds(time_per_screen_percentage)
你可以把它进一步打磨到

for i in grammar:
    j = grammar[i]
    min_time = j['min_time']
    filtered_thresholds_expert = j['filtered_thresholds']
    filtered_screens = j['filtered_screens']
    ProcessThresholds(time_per_screen_percentage)

你有几个问题:

首先,
语法
之所以是字典,并没有明显的原因:您迭代它,但从不按键索引它,所以它可以是一个列表。其次,您只需要一个循环。试试这个:

for key, j in grammar.iteritems():
    ...

你有几个问题:

首先,
语法
之所以是字典,并没有明显的原因:您迭代它,但从不按键索引它,所以它可以是一个列表。其次,您只需要一个循环。试试这个:

for key, j in grammar.iteritems():
    ...

你有几个问题:

首先,
语法
之所以是字典,并没有明显的原因:您迭代它,但从不按键索引它,所以它可以是一个列表。其次,您只需要一个循环。试试这个:

for key, j in grammar.iteritems():
    ...

你有几个问题:

首先,
语法
之所以是字典,并没有明显的原因:您迭代它,但从不按键索引它,所以它可以是一个列表。其次,您只需要一个循环。试试这个:

for key, j in grammar.iteritems():
    ...