在不使用循环的情况下迭代列表

VIs*_*ble 3 python list

我目前正在使用zabbix脚本来添加用户组.一个用户有许多组,zabbix文档的部分为:

"usrgrps": [
            { "usrgrpid": "7" },
            { "usrgrpid": "8" },
            { "usrgrpid": "9" }
           ]
Run Code Online (Sandbox Code Playgroud)

我有组ID列表,我希望在的地方,以取代7,8,9list[0], list[1], list[2]

我尝试过使用.join方法:

mylist = ['12','13','14']
z =  '"usrgrpid":"'.join(mylist)
s = '"usrgrps": [{"%s"},]' % (z)
Run Code Online (Sandbox Code Playgroud)

输出:

'"usrgrps": [{"12"usrgrpid":"13"usrgrpid":"14"},]'
Run Code Online (Sandbox Code Playgroud)

Ale*_*der 8

您可以使用列表理解.

mylist = ['12', '13', '14']
d = {"usrgrps": [{'usrgrpid': uid} for uid in mylist]}
>>> d
{'usrgrps': [{'usrgrpid': '12'}, {'usrgrpid': '13'}, {'usrgrpid': '14'}]}
Run Code Online (Sandbox Code Playgroud)