2015-06-14 73 views
-3

我在Python下面的代码:运行分配字典的键的值到一个变量

buildXmlUpdate ('21/12/2015', 1, [{'avail': 1, 'price': 100}, {'avail': 3, 'price': 120}]) 

我得到以下输出时

def buildXmlUpdate(dfrom, roomId, ldays): 

    start_date_sard.text = dfrom 
    roomId = str(roomId) 
    room_id_sard.text = roomId 
    ldays = {'avail': str(), 'price': str()} 
    availability_in_data.text = ldays['avail'] 
    price_in_data.text = ldays['price'] 

    for n in ldays: 
     print (dfrom, roomId, ldays) 

现在

('21/12/2015', '1', {'avail': '', 'price': ''}) 
('21/12/2015', '1', {'avail': '', 'price': ''}) 

在换句话说:

('21/12/2015', '1', {'avail': 1, 'price': 100}) 
('21/12/2015', '1', {'avail': 3, 'price': 120}) 

正如您在这里看到的,字典availprice键设置为空字符串,但我想根据方法中的参数ldays设置它们。

我在做什么错?

+4

你特别用你自己的硬编码值覆盖作为'ldays'传递的值。你为什么这样做? –

+0

除了@DanielRoseman所说的,你能指定更多关于'price_in_data.text','availability_in_data.text'等的内容。我想这些是XML元素,但是这里缺少一些东西。 –

回答

0

解决:

def buildXmlUpdate(dfrom, roomId, ldays): 

start_date_sard.text = dfrom 
roomId = str(roomId) 
room_id_sard.text = roomId 
#ldays = {'avail': str(), 'price': str()} 
#availability_in_data.text = ldays['avail'] 
#price_in_data.text = ldays['price'] 


for n in ldays: 
    print (dfrom, roomId, n) 
    #availability_in_data.text = get.ldays['avail'] 
    #price_in_data.txt = get.ldays['price'] 
    ldays[-1]['avail'] = str(ldays[-1]['avail']) 
    ldays[-1]['price'] =str(ldays[-1]['price']) 
    availability_in_data.text = ldays[-1]['avail'] 
    price_in_data.text = ldays[-1]['price'] 

谢谢大家!

相关问题