1.题目

list3 = [
{'name':'Alex','hobby':'抽烟'},
{'name':'Alex', 'hobby':'喝酒'},
{'name':'Alex', 'hobby':'烫头'},
{'name':'Alex', 'hobby':'Massage'},
{'name':'wusir', 'hobby':'喊麦'},
{'name':'wusir', 'hobby':'街舞'},]
# 将以上列表转化成下列样式:
# list4 = [
# {'name':'alex','hobby_list':['抽烟','喝酒','烫头','Message']},
# {'name':'wusir','hobby_list':['喊麦','街舞']}]

2.解答

list4 = []
for i in list3: # 循环list3, 得出每一个字典, ①
# 第二次添加时候,判断i['name']在不在新建的字典里面 ,就要循环新形成的list4这个列表,找到name的对应值
for j in list4:
if j['name'] == i['name']:
j['hobby_list'].append(i['hobby'])
break
else:
dic = {} # 建立一个新字典②
dic['name'] = i['name'] # 将每个值赋值到新的字典里面③
dic['hobby_list'] = [i['hobby']] # 将每个值赋值到新的字典里面,这里是一个列表③
list4.append(dic) # 将字典添加到list4里面 ④
for ren in list3: # {"name": "alex", "hobby": "抽烟"},
for el in list4:
if el['name'] == ren['name']:
el['hobby_list'].append(ren['hobby'])
break
else:
dic = {}
dic['name'] = ren['name']
dic['hobby_list'] = [ren['hobby']]
list4.append(dic) # 第一个人进去
print(list4)

python列表套字典数据类型转换的更多相关文章

  1. Python 列表生成式 & 字典生成式

    Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...

  2. Python 列表,元组,字典

    0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...

  3. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  4. python运算符和常用数据类型转换

    运算符 算术运算符 运算符 描述 实例 + 加 两个对象相加 a + b 输出结果 30 - 减 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 两个数相乘或是返回一个被重复若干 ...

  5. Python列表,元组,字典,字符串方法笔记

    01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

  6. python 列表和字典的引用与复制(copy)

    列表或字典的引用: 引用针对变量的时候,传递引用后,对引用后的对象的值进行改变是不会影响到原值的:而列表不一样如: spam =42 cheese = spam spam =100 print(spa ...

  7. python列表,字典,元组常用方法和集合

    python 目录 一.列表 列表格式 1.添加 列表取数(按照下标取,下标从0开始) 获取长度 append添加(直接添加) extend添加(分别添加) insert()insert(index, ...

  8. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  9. python 列表,字典,元组,字符串,常用函数

    飞机票 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object ...

随机推荐

  1. Java对象的浅克隆和深克隆

    为什么需要克隆      在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B, 并且此后对B任何改动都不会影响到A中的值 ...

  2. Python 集合常用方法总结

    数据类型:int/str/bool/list/dict/tuple/float/set   (set类型天生去重) 一.集合的定义 s = set()  #定义空集合 s = {'a','b','c' ...

  3. python学习之os.walk()

    os.walk(top,topdown = True,onerror = None,followlinks = False) 参数 top -- 根目录下的每一个文件夹(包含它自己), 产生3-元组 ...

  4. 使用struts的时候form用struts的,不用html本身的

    同样的struts-config.xml, web.xml的配置,使用2个版本的form,只有struts的form才能成功运行 使用html版本的form导致post的路径不对,报404 HTML版 ...

  5. 关于引脚复用,不得不提的GPIO_Pin_sources 和GPIO_Pin

    今天在端口复用时遇到了困惑,参考:http://www.51hei.com/bbs/dpj-40992-1.html 调整前的代码GPIO_PinAFConfig(GPIOA,GPIO_Pin_9,G ...

  6. Hello,Ajax

    学习了Ajax技术,写了一个最简单的Ajax应用 <%@page contentType="text/html; charset=utf-8" language=" ...

  7. (译)Getting Started——1.3.4 Writing a Custom Class(编写自定义的类)

     在开发IOS应用中,当你编写自定义的类时,你会发现很多的特殊场合.当你需要把自定义的行为和数据包装在一起时,自定义的类非常有用.在自定义的类中,你可以定义自己的存储.处理和显示数据的方法. 例如,I ...

  8. 让一个 csproj 项目指定多个开发框架[转]

    原贴:https://walterlv.gitee.io/post/configure-projects-to-target-multiple-platforms.html 可移植类库.共享项目..N ...

  9. Geek们为什么都用Linux?《完全使用Linux工作-王垠》读后记

    真正开始使用Linux是从2013年某月看到王垠写的一篇<完全用Linux工作>,当时属于无比崇拜王垠的阶段,虽然在那之前常年都在电脑上装着双系统(linux,win),但linux也只能 ...

  10. Centos + HHVM 生产环境安装!

    一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...