m0_60842895 2022-10-19 20:58 采纳率: 100%
浏览 22
已结题

请问下python代码第16行,if为什么没有条件只有一个变量名啊?

不是应该if 怎么怎么样,执行一个语句,else执行一个语句吗?

def init(data):        #字典初始化
    data['first']={}
    data['middle']={}
    data['last']={}    
storage={}
init(storage)
print(storage)    #{'first': {}, 'middle': {}, 'last': {}}
def lookup(data,label,name):    #查找名字(列表名,标签,名字)
    return data[label].get(name)
def store(data,full_name):
    names=full_name.split()    #拆分full_name
    if len(names)==2:names.insert(1,'')    #如果没有中间名,则插入空字符串
    labels='first','middle','last'
    for label,name in zip(labels,names):    #使用zip函数联合标签和名字
        people=lookup(data,label,name)    
        if people:
            people.append(full_name)    #如果对应first、middle、last的键值已经存在,就把全名添加进去
        else:
            data[label][name]=[full_name]    #键不存在时,自动添加键值
MyNames={}
init(MyNames)
store(MyNames,'Robin Hood')
store(MyNames,'Robin Locksley')
print(lookup(MyNames,'first','Robin'))    #['Robin Hood', 'Robin Locksley']

  • 写回答

2条回答 默认 最新

  • ·星辰大海 2022-10-19 21:09
    关注

    一个变量名也是可以作为if条件的
    如果lookup能够返回正常的值,if条件成立,如果返回None则if条件不成立

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 修改了问题 10月19日
  • 创建了问题 10月19日

悬赏问题

  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网