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 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程