【问题标题】:Python dictionary modificationPython字典修改
【发布时间】:2022-01-14 04:20:39
【问题描述】:

这是一个python代码

def build_person(first_name, last_name, age=None):     
Return a dictionary of information about a person.
   person = {'first': first_name, 'last': last_name}     
   if age:         
      person['age'] = age     
   return person

除了台词外我什么都懂

person['age'] = age

因为,“person”是一个字典,所以如果我想修改它,它不应该接受一个键值对吗?如何正确修改?

【问题讨论】:

  • 正确。 person 正在被{'age':age} 字典更新

标签: python-3.x function dictionary


【解决方案1】:

这里,人[年龄] = 年龄 仅当调用此函数时将年龄作为参数给出时才有效。

person是字典,age in person[age]是key,赋值运算符(=)右边的age是作为参数传入函数的值。

例如: 对于下面最后一行给定的代码,我将年龄作为参数。

def build_person(first_name, last_name, age=None):     

   person = {'first': first_name, 'last': last_name}     
   if age:         
      person['age'] = age  
   print(person)   
   return person
build_person("yash","verma",9)

以上代码的输出是:

{'first': 'yash', 'last': 'verma', 'age': 9}

现在, 如果我不把年龄作为论据,那么,

def build_person(first_name, last_name, age=None):     

    person = {'first': first_name, 'last': last_name}     
    if age:         
        person['age'] = age  
    print(person)   
    return person
build_person("yash","verma")

输出将是:

{'first': 'yash', 'last': 'verma'}

【讨论】:

  • 只是为了确保我理解正确:在 (person['age'] = age) 行中,第一个 'age' 是字典的第三个键(如果有的话,跟在 ' if' 块),而第二个年龄是来自函数调用的值,并且这个年龄成为名为“人”的字典的第三个值。我说的对吗?
【解决方案2】:
person['age'] = age

括号内的“年龄”是键,值“年龄”是分配值的位置。 人物字典变成:

 {'first': first_name, 'last': last_name,'age': age} 

【讨论】:

    猜你喜欢
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多