尝试运行下面这段代码:
def appendList():
channel = []
channels = {}
for i in range(10):
channels['name'] = i
channels['value'] = "i*"+str(i)
channel.append(channels)
print channel
if __name__ == '__main__':
appendList()
输出的结果是:[{'name': 9, 'value': 'i*9'}, {'name': 9, 'value': 'i*9'}]
这段代码的问题是我需要的是[{'name': 0, 'value': 'i*0'}, {'name': 1, 'value': 'i*1'}......]这个字符串,但是结果完全不对,代码检查,看下在append之前字符串是什么样的,代码更改为下面这种家如一个输出:
def appendList():
channel = []
channels = {}
for i in range(10):
channels['name'] = i
channels['value'] = "i*"+str(i)
print channels
channel.append(channels)
print channel
结果是:{'name': 0, 'value': 'i*0'}
{'name': 1, 'value': 'i*1'}
{'name': 2, 'value': 'i*2'}
{'name': 3, 'value': 'i*3'}
{'name': 4, 'value': 'i*4'}
{'name': 5, 'value': 'i*5'}
{'name': 6, 'value': 'i*6'}
{'name': 7, 'value': 'i*7'