python字典小结

python字典小结,第1张

字典的创建 值为普通的列表
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]])

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/787271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存