不是应该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']
一个变量名也是可以作为if条件的
如果lookup能够返回正常的值,if条件成立,如果返回None则if条件不成立
9行的get()会返回true/false
也就是说16行people的值会是true/false
你说的条件,条件执行的结果就是true/false。
下面两种写法是一样的效果,因为1>0的执行结果就是true
if true:
if 1>0: