创建动态添加值的词典列表

时间:2017-09-07 14:09:38

标签: python python-2.7

目标:我收到客户端的数量作为输入,我只需要以相同的格式(一个键,即'cdata'和一个字典列表作为值)。

示例:如果我收到4个客户端作为用户输入,则应生成以下内容。 (因此它应该根据用户输入动态生成值)

仅供参考:我正在尝试在一台计算机上模拟多个客户端。

 jsondata = json.dumps(
            {'cdata': [
                { 'cname': "client1", 'heart': val1, 'timC': tstamp, 'sig': random.uniform(0,10)},
                { 'cname': "client2", 'heart': val2,  'timC': tstamp, 'sig': random.uniform(0,10)},
                { 'cname': "client3", 'heart': val3,  'timC': tstamp, 'sig': random.uniform(0,10)},
                { 'cname': "client4", 'heart': val4,  'timC': tstamp, 'sig': random.uniform(0,10)}
            ]
            }, sort_keys=True, separators=(',', ':'), indent=2)

道歉,如果这是一个愚蠢的问题。

1 个答案:

答案 0 :(得分:0)

你需要这样的东西:

values = [val1, val2, val3, val4] #val variables
tstamp = 'something'

result = {'cdata': [{'cname': 'client{}'.format(i), 'heart': val, 'timC': tstamp, 'sig': random.uniform(0,10)} for i, val in enumerate(values, 1)]}

现在您可以将结果转储到json

jsondata = json.dumps(result, sort_keys=True, separators=(',', ':'), indent=2)