Python 在创建字典时,询问的原始输入顺序是意外的
我有这样一段代码:Python 在创建字典时,询问的原始输入顺序是意外的,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我有这样一段代码: terms = {} while 1: terms[raw_input('input latin: ')] = raw_input('input meaning: ') 我希望先输入一个拉丁单词,然后给出它的翻译,然后将其添加到字典中 然而,有人提醒我: $ python latinvocab.py input meaning: 请注意如何首先要求翻译,而不是拉丁语 显然,绕过这一点的一种方法是引入一些变量,或许可以: terms = {} while 1:
terms = {}
while 1:
terms[raw_input('input latin: ')] = raw_input('input meaning: ')
我希望先输入一个拉丁单词,然后给出它的翻译,然后将其添加到字典中
然而,有人提醒我:
$ python latinvocab.py
input meaning:
请注意如何首先要求翻译,而不是拉丁语
显然,绕过这一点的一种方法是引入一些变量,或许可以:
terms = {}
while 1:
latin = raw_input('input latin: ')
translation = raw_input('input meaning: ')
terms[latin] = translation
但是上面的代码发生了什么?赋值语句的右侧总是在左侧之前求值,如上所述(尽管不是完全明确)。这是很自然的,因为在像
x=someFunction()
这样的赋值中,它必须先求值someFunction()
,然后才能将其值赋值给任何对象。赋值语句的右侧总是在左侧之前求值,如前所述(尽管不是完全明确的)。这是很自然的,因为在像x=someFunction()
这样的赋值中,它必须先求值someFunction()
,然后才能将其值赋值给任何对象。赋值语句的右侧总是在左侧之前求值,如前所述(尽管不是完全明确的)。这是很自然的,因为在像x=someFunction()
这样的赋值中,它必须先求值someFunction()
,然后才能将其值赋值给任何对象。赋值语句的右侧总是在左侧之前求值,如前所述(尽管不是完全明确的)。这是很自然的,因为在像x=someFunction()
这样的赋值中,它必须先求值someFunction()
,然后才能将其值赋值给任何对象