我有這樣的方法:如何用較少的代碼編寫相同的代碼。 Python的
def get_user_info(self):
month = choice(range(1,13))
day = choice(range(1,29))
year = choice(range(1966,1994))
f_name = self.assign_name('FirstNames')
l_name = self.assign_name('LastNames')
e_address = f_name+l_name+year.__str__()+day.__str__()
password = f_name+l_name+'0008383'
user_info = dict({
'month' : month,
'day' : day,
'year' : year,
'f_name' : f_name,
'l_name' : l_name,
'e_address' : e-address,
'password' : password
})
print user_info
它給了我正確的結果,但我填補像我寫兩次相同的代碼。所以我的問題是如何在不首先創建變量的情況下獲得相同的結果,並且將它們放入dict()中。
請注意,我需要在不同的鍵:值對中使用f_name和l_name等。
說實話,這是錯誤的事情來尋求優化。 –
好吧,考慮到'{expr1:expr2,..}'(因爲'{}'已經不需要'dict'),'expr1'和'expr2'都是*任意表達式*。它們不必是字符串文字或變量名稱,它們本身就是兩種表達式。(因此,它應該遵循「選擇(範圍(1,13))」,它也是一個表達式,可以根據需要進行替換。 ,我敦促謹慎地保留複合表達式的副作用* out。) – 2012-12-11 02:53:37
此問題可能更適合[http://codereview.stackexchange.com/](http://codereview.stackexchange.com/) –