15.数据容器-字典dict

定义一个空字典

my_dict = {}
you_dict = dict()

{}只能代表一个空字典dict,不能代表一个空集合set。

my_dict = {'aa': 11, 'bb': 22, 'cc': 33}
# {'aa': 11, 'bb': 22, 'cc': 33}
print(my_dict)
# <class 'dict'>
print(type(my_dict))

dict的get方法,根据key获取value值

my_dict = {'aa': 11, 'bb': 22, 'cc': 33}
val = my_dict['aa']
# 11
print(val)

dict中的key-value可以是任意数据类型,但是key不能为字典

my_dict = {
    '张三': {
        '语文': 88,
        '数学': 90
    },
    'bb': {
        '语文': 77,
        '数学': 60
    },
    'cc': {
        '语文': 80,
        '数学': 90
    }
}
print(my_dict)

获取dict里面的值


my_dict = {
    '张三': {
        '语文': 88,
        '数学': 90
    },
    'bb': {
        '语文': 77,
        '数学': 60
    },
    'cc': {
        '语文': 80,
        '数学': 90
    }
}
# 90
print(my_dict['cc']['数学'])

dict新增和修改数据

my_dict = {'aa': 1, 'bb': 2, 'cc': 3, 'dd': 88}
# 新增key
# {'aa': 1, 'bb': 2, 'cc': 3, 'dd': 88}
print(my_dict)
# 修改key
my_dict['aa'] = 55
# {'aa': 55, 'bb': 2, 'cc': 3, 'dd': 88}
print(my_dict)

pop方法,根据key删除元素

my_dict = {'aa': 1, 'bb': 2, 'cc': 3, 'dd': 88}
# pop方法,根据key删除元素,返回被删除的值
val = my_dict.pop('aa')
# 1
print(val)
# {'bb': 2, 'cc': 3, 'dd': 88}
print(my_dict)

clear方法,清空集合

my_dict = {'aa': 1, 'bb': 2, 'cc': 3, 'dd': 88}
my_dict.clear()
# {}
print(my_dict)

 for循环遍历

my_dict = {'aa': 1, 'bb': 2, 'cc': 3, 'dd': 88}
for i in my_dict:
    print(i)
    print(my_dict[i])

for j in my_dict.keys():
    print(j)
    print(my_dict[j])

len方法,统计dict集合的元素个数

my_dict = {'aa': 1, 'bb': 2, 'cc': 3, 'dd': 88}
# 字典中的元素个数4
print(f"字典中的元素个数{len(my_dict)}")

案例

my_dict = {
    "王力宏": {
        "部门": "科技部",
        "工资": 3000,
        "级别": 1
    },
    "周杰伦": {
        "部门": "市场部",
        "工资": 5000,
        "级别": 2
    },
    "林俊杰": {
        "部门": "市场部",
        "工资": 7000,
        "级别": 3
    },
    "张学友": {
        "部门": "科技部",
        "工资": 4000,
        "级别": 1
    },
    "刘德华": {
        "部门": "市场部",
        "工资": 6000,
        "级别": 2
    }
}

for i in my_dict:
    level = my_dict[i]["级别"]
    if level == 1:
        my_dict[i]["级别"] += 1
        my_dict[i]["工资"] += 1000

print(my_dict)
matlab程序,提取txt中的数据数据实例如下 #Configuration Name: StandardConfiguration1 #Request Name: ff_scattering #Frequency: 2.00000000E+09 #Coordinate System: Spherical #No. of Theta Samples: 1 #No. of Phi Samples: 1 #Result Type: RCS #Incident Wave Direction: (9.00000000E+01, 0.00000000E+00) #No. of Header Lines: 1 # "Theta" "Phi" "Re(Etheta)" "Im(Etheta)" "Re(Ephi)" "Im(Ephi)" "RCS(Theta)" "RCS(Phi)" "RCS(Total)" 9.00000000E+01 0.00000000E+00 1.69599842E-05 9.06599749E-06 1.17300288E-02 7.02476730E-03 4.64746325E-09 2.34916903E-03 2.34917368E-03 #Configuration Name: StandardConfiguration1 #Request Name: ff_scattering #Frequency: 2.00000000E+09 #Coordinate System: Spherical #No. of Theta Samples: 1 #No. of Phi Samples: 1 #Result Type: RCS #Incident Wave Direction: (9.00000000E+01, 1.00000000E+00) #No. of Header Lines: 1 # "Theta" "Phi" "Re(Etheta)" "Im(Etheta)" "Re(Ephi)" "Im(Ephi)" "RCS(Theta)" "RCS(Phi)" "RCS(Total)" 9.00000000E+01 1.00000000E+00 2.14660379E-05 6.92349890E-06 1.15490750E-02 6.71918983E-03 6.39283470E-09 2.24345711E-03 2.24346350E-03 #Configuration Name: StandardConfiguration1 #Request Name: ff_scattering #Frequency: 3.26000000E+09 #Coordinate System: Spherical #No. of Theta Samples: 1 #No. of Phi Samples: 1 #Result Type: RCS #Incident Wave Direction: (9.00000000E+01, 5.60000000E+01) #No. of Header Lines: 1 # "Theta" "Phi" "Re(Etheta)" "Im(Etheta)" "Re(Ephi)" "Im(Ephi)" "RCS(Theta)" "RCS(Phi)" "RCS(Total)" 9.00000000E+01 5.60000000E+01 7.75703258E-06 -1.49473245E-06 8.56885644E-03 1.61835893E-03 7.84214153E-10 9.55601942E-04 9.55602726E-04 #Configuration Name: StandardConfiguration1 #Request Name: ff_scattering #Frequency: 3.26000000E+09 #Coordinate System: Spherical #No. of Theta Samples: 1 #No. of Phi Samples: 1 #Result Type: RCS #Incident Wave Direction: (9.00000000E+01, 5.70000000E+01) #No. of Header Lines: 1 # "Theta" "Phi" "Re(Etheta)" "Im(Etheta)" "Re(Ephi)" "Im(Ephi)" "RCS(Theta)" "RCS(Phi)" "RCS(Total)" 9.00000000E+01 5.70000000E+01 1.11963221E-05 2.70305790E-06 1.26018323E-02 4.57841688E-03 1.66710689E-09 2.25903228E-03 2.25903395E-03 遍历txt,提取所有的#Incident Wave Direction:中第二项为0.00000000E+00的"Theta" "Phi" "Re(Etheta)" "Im(Etheta)" "Re(Ephi)" "Im(Ephi)" "RCS(Theta)" "RCS(Phi)" "RCS(Total)"数据,输出为txt并命名为Incident Wave Direction_0, 然后再提取提取所有的#Incident Wave Direction中第二项为1.00000000E+00的数据并保存为Incident Wave Direction_1.txt,以此类推直到180.00000000E+00
最新发布
08-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卷土重来…

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值