python字典小结

字典的创建

值为普通的列表

node_incident = {'1': [2, 6, 7], '2': [1, 3, 6], '3': [2, 4, 5, 6], '4': [3, 5], '5': [3, 4, 6, 7], '6': [1, 2, 3, 5, 7], '7': [1, 5, 6]}

值中包含numpy创建矩阵来存贮更多相关信息

import numpy as np
node_incident = {'1': np.array(([2, 6, 7], [1, 3, 6])), '2': [1, 3, 6], '3': [2, 4, 5, 6], '4': [3, 5], '5': [3, 4, 6, 7], '6': [1, 2, 3, 5, 7], '7': [1, 5, 6]}

字典键对应数据的获取


node_incident.get('1')

以何种形式存储的值,则获取的值就是以什么形式输出

字典信息的增加

原有未存在的键值信息增加

直接创建新的键值来新增信息

node_incident['8'] = [11, 22, 33]

在原有键的基础上新增值

新增单个值

# 方法一
node_incident['8'].append(9)
# 方法二
node_incident.update({'8': node_incident.get('8') + [10]})

新增列表

# 在列表的基础上末尾加入了一个新的列表,但'8'中的值仍是一个列表
node_incident['8'].append([9, 4])
# 在创建的np矩阵基础上再增加列表
node_incident['1'] = np.r_[node_incident.get('1'), np.array([[1, 2, 3]])]

当值的存储形式为矩阵式需要注意的是:
1.不能单纯的用.update配合+来进行,会对已有的矩阵做加法运算

node_incident.update({'1': node_incident.get('1') + [3, 4, 99]})
# 输出结果为:
# {'1': array([[  5,  10, 106],[  4,   7, 105]])

2.若后面直接将加入列表,则会改变其存储结构

node_incident.update({'1': np.append(node_incident.get('1'), [3, 4, 99])})
#实际输出结果为:
#'1': array([ 2,  6,  7,  1,  3,  6,  3,  4, 99])


## 因此语法存在错误,正确方式为: 
node_incident['1'] = np.r_[node_incident.get('1'), np.array([[3, 4, 99]])]
# 想要的输出结果为: 
# '1': array([[ 2,  6,  7],[ 1,  3,  6],[ 3,  4, 99]])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值