我希望输出类似于{' Red':1,' Blue':2,' Green':3}。我只是得到{ '绿色':3}

时间:2016-09-18 11:09:08

标签: python-3.x for-loop dictionary

list_color=['Red','Blue','Green']

for i ,b in enumerate(list_color,1):

    if i<=2:
        dict ={b:i}

    else:
        break

    i+=1

print(dict)

输出:

{'Green':3}

1 个答案:

答案 0 :(得分:2)

您告诉口译员用新值重新分配名称@RequestMapping(value="/{userName}/mainPage", method = RequestMethod.POST) public ModelAndView showMainPage(@Valid @ModelAttribute("loginUserForm") LoginUserForm loginUserForm, ModelAndView modelAndView, BindingResult result, @PathVariable("userName") String userName){ ,而不是更新词典。

dict

为了根据另一个可迭代创建对象, comprehensions 是典型的方法,在本例中是字典理解

dict = {b:i}  # we talk about this line

不保留订单,因为字典是无序的数据结构。

另外,尽量避免基于内置命名对象,当使用colors = ['Red','Blue','Green'] d = {color: idx for idx, color in enumerate(colors, 1)} # {'Blue': 2, 'Green': 3, 'Red': 1} 名称时,它会隐藏dict builtin function