0
点赞
收藏
分享

微信扫一扫

python字典小结

静鸡鸡的JC 2022-04-27 阅读 46
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 条评论