如何从python字典中删除一些值

Jan*_*uka 0 python

我有这个 python 字典myDict

{'Age': {0: '39'}, 'DailyRate': {0: '903'}, 'DistanceFromHome': {0: '2'}, 'EnvironmentSatisfaction': {0: '1'}, 'HourlyRate': {0: '41'}, 'JobInvolvement': {0: '4'}, 'JobLevel': {0: '3'}, 'JobSatisfaction': {0: '3'}, 'MonthlyIncome': {0: '7880'}, 'MonthlyRate': {0: '2560'}, 'NumCompaniesWorked': {0: '0'}, 'PercentSalaryHike': {0: '18'}, 'RelationshipSatisfaction': {0: '4'}, 'StandardHours': {0: '80'}, 'TotalWorkingYears': {0: '9'}, 'TrainingTimesLastYear': {0: '3'}, 'YearsAtCompany': {0: '8'}, 'YearsInCurrentRole': {0: '7'}, 'YearsSinceLastPromotion': {0: '0'}, 'YearsWithCurrManager': {0: '7'}, 'MaritalStatus_': {0: '2'}, 'JobRole_': {0: '7'}, 'Gender_': {0: '1'}, 'EducationField_': {0: '1'}, 'Department_': {0: '2'}, 'BusinessTravel_': {0: '2'}, 'OverTime_': {0: '1'}, 'Over18_': {0: '1'}}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,如果我从上面的样本中得到一个,如下所示,

{'Age': {0: '39'}}
Run Code Online (Sandbox Code Playgroud)

0前面还有一个附加值39。这个零出现在每个键值对中。

我怎样才能摆脱这个0,所以它看起来像这样:

{'Age': '39'}
Run Code Online (Sandbox Code Playgroud)

我试过这种方法,但它删除了整个密钥而不是0

map(myDict.pop, ['Age',''])
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

Bha*_*hur 6

您可以使用字典理解来解决此问题。尝试做:

new_dict = {key: value[0] for key, value in old_dict.items()}
Run Code Online (Sandbox Code Playgroud)

在这里,您遍历key, value字典中的每一对,并将新字典的键分配给旧字典的键。但是该值成为字典内部字典的第 0 个键值。

例如,从key开始'Age',所以新字典的第一个键是'Age'。然而,值是{0: '39'}[0]哪个是'39'。所以字典的第一个元素是'Age': '39'