|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 jcpython2 于 2023-1-15 16:18 编辑
原始数据
[[1,100],[2,90],[2,95],[1,70]]
转换为
{1:[100,70],2:[90,95]}
我的思路 第一次创建字典key加入value下次循环判断如果已经有value就append
- dt = [[1,100],[2,90],[2,95],[1,70]]
- dtrc = {}
- for i in dt:
- #dtrc[i[0]] = dtrc.get('i[0]',[i[1]])
- dtrc[i[0]] = dtrc.get('i[0]')
- if dtrc[i[0]] == None: #判断这个key是否存在value 没就append
- dtrc[i[0]]= []
- dtrc[i[0]].append(i[1])
- print(dtrc)
复制代码
{1: [70], 2: [95]} 这是错误的输出结果
本帖最后由 tommyyu 于 2023-1-15 16:24 编辑
- l = [[1,100],[2,90],[2,95],[1,70]]
- d = {}
- for i in l:
- d[i[0]] = d.get(i[0], []) + [i[1]] # d.get(i[0], []) get函数见下,表示访问 i[0],如果不存在则返回 []
- # + i[1] 将 i[1] 加入该列表
- print(d)
复制代码
dict.get(key, default) 函数 --- 访问 key 键所对应的值,如果不存在则返回 default
- >>> a = {1:1, 2:2, 3:3}
- >>> a.get(1, '木有')
- 1
- >>> a.get(4, '木有')
- '木有'
复制代码
|
|