调试 Python 代码
Debugging Python code
几天后,我仍然无法弄清楚如何在 python 上进行这项工作(不是有经验的程序员)。这是粘贴的代码,底部是预期结果:
color_list = ["red", "blue", "orange", "green"]
secuence = ["color", "price"]
car_list = []
def create_list(color_list, secuence, car_list):
for num in range(len(color_list)):
car_list.append = dict.fromkeys(secuence)
car_list[%s]['color'] = color_list[%s] %num
return car_list
这是我想要达到的结果:
>> car_list
[{'color': 'red', 'price': None},{'color': 'blue', 'price': None},{'color': 'orange', 'price': None},{'color': 'green', 'price': None}]
假设 'color'
和 'price'
是常量,您可以在一行中针对此特定场景完成所有操作。
car_list = [{'color': color, 'price': None} for color in color_list]
参见 list comprehension - 这是一个强大的工具。
如果您还有一个价格列表,price_list
,您可以做类似的事情:
car_list = [{'color': color, 'price': price} for color, price in zip(color_list, price_list)]
查看内置函数 zip()
。
如果字符串 'color'
和 'price'
在执行时是未知的(我认为这不太可能),你可以做类似下面的事情
car_list = [{secuence[0]: color, secuence[1]: price} for color, price in zip(color_list, price_list)]
尝试以下操作 我不确定您是否可以使用密钥寻址,但我在这里使用了它。
def create_list(color_list, secuence, car_list):
for each in color_list:
tmp = dict.fromkeys(secuence)
tmp['color'] = each
car_list.append(tmp)
return car_list
几天后,我仍然无法弄清楚如何在 python 上进行这项工作(不是有经验的程序员)。这是粘贴的代码,底部是预期结果:
color_list = ["red", "blue", "orange", "green"]
secuence = ["color", "price"]
car_list = []
def create_list(color_list, secuence, car_list):
for num in range(len(color_list)):
car_list.append = dict.fromkeys(secuence)
car_list[%s]['color'] = color_list[%s] %num
return car_list
这是我想要达到的结果:
>> car_list
[{'color': 'red', 'price': None},{'color': 'blue', 'price': None},{'color': 'orange', 'price': None},{'color': 'green', 'price': None}]
假设 'color'
和 'price'
是常量,您可以在一行中针对此特定场景完成所有操作。
car_list = [{'color': color, 'price': None} for color in color_list]
参见 list comprehension - 这是一个强大的工具。
如果您还有一个价格列表,price_list
,您可以做类似的事情:
car_list = [{'color': color, 'price': price} for color, price in zip(color_list, price_list)]
查看内置函数 zip()
。
如果字符串 'color'
和 'price'
在执行时是未知的(我认为这不太可能),你可以做类似下面的事情
car_list = [{secuence[0]: color, secuence[1]: price} for color, price in zip(color_list, price_list)]
尝试以下操作 我不确定您是否可以使用密钥寻址,但我在这里使用了它。
def create_list(color_list, secuence, car_list):
for each in color_list:
tmp = dict.fromkeys(secuence)
tmp['color'] = each
car_list.append(tmp)
return car_list