python列表根据指定元素生成字典
PHP中文网
PHP中文网 2017-04-17 15:40:44
[Python讨论组]

列表的值是这样
mylist = [['3','ssss','123123453453234'],['4','ssss','3453464567345456'],['5','ssss','5687345324123123234'],['7','bbbb','96893543453463123234'],['8','bbbb','sdfsdfsdfsf'],['9','cccc','dfgdfg3242']]

要生成这样的字典
{'ssss':[{'3':'123123453453234'},{'4':'3453464567345456'},{'5':'5687345324123123234'},{'7':'96893543453463123234'}],'bbbb':[...],'cccc':[...]}
或者
{'ssss':[['3':'123123453453234'],['4':'3453464567345456'],['5':'5687345324123123234'],['7':'96893543453463123234']],'bbbb':[...],'cccc':[...]}

头都大了。。有没有现成的库做这个工作的?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
高洛峰
mylist = [['3', 'ssss', '123123453453234'],
          ['4', 'ssss', '3453464567345456'],
          ['5', 'ssss', '5687345324123123234'],
          ['7', 'bbbb', '96893543453463123234'],
          ['8', 'bbbb', 'sdfsdfsdfsf'],
          ['9', 'cccc', 'dfgdfg3242']]
result = {}
for item in mylist:
    sub_key, key, value = item
    if not key in result:
        result[key] = []
    result[key].append({sub_key: value})
print result
# {'ssss': [{'3': '123123453453234'}, {'4': '3453464567345456'}, {'5': '5687345324123123234'}], 'cccc': [{'9': 'dfgdfg3242'}], 'bbbb': [{'7': '96893543453463123234'}, {'8': 'sdfsdfsdfsf'}]}
result1 = {}
for item in mylist:
    value1, key, value2 = item
    if not key in result1:
        result1[key] = []
    result1[key].append([value1, value2])
#{'ssss': [['3', '123123453453234'], ['4', '3453464567345456'], ['5', '5687345324123123234']], 'cccc': [['9', 'dfgdfg3242']], 'bbbb': [['7', '96893543453463123234'], ['8', 'sdfsdfsdfsf']]}
print result1
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号