python难理解的语句解析
1.移除字典点键值(key/value)对
test_dict = {"Runoob" : 1, "Google" : 2, "Taobao" : 3, "Zhihu" : 4} # 输出原始的字典 print ("字典移除前 : " + str(test_dict))
#如果key!='Zhihu',则输出键值对字典 new_dict = {key:val for key, val in test_dict.items() if key != 'Zhihu'} # 输出移除后的字典 print ("字典移除后 : " + str(new_dict))
字典移除前:{'Runoob':1,'Google':2,'Taobao':3,'Zhihu':4}
字典移除后:{'Runoob':1,'Google':2,'Taobao':3}
2.合并字典
def Merge(dict1, dict2): res = {**dict1, **dict2} return res # 两个字典 dict1 = {'a': 10, 'b': 8} dict2 = {'d': 6, 'c': 4} dict3 = Merge(dict1, dict2) print(dict3)
执行以上代码输出结果为:
{'a': 10, 'b': 8, 'd': 6, 'c': 4}
Python中的*与**操作符使用最多的就是两种用法。
1.用做运算符,即*表示乘号,**表示次方。
2.用于指定函数传入参数的类型的。*用于参数前面,表示传入的多个参数将按照元组的形式存储,是一个元组;
**用于参数前则表示传入的(多个)参数将按照字典的形式存储,是一个字典。
3.按键(key)或值(value)对字典进行排序
print ((i, key_value[i]), end =" ")
end=“ ”是设置print()打印结束添加的字符。 默认是end=“\n”,也就是打印完,以换行符结尾。
lambda存在意义就是对简单函数的简洁表示
比如函数f:
def f(x):
return x**2
可以写成:
f = lambda x:x**2
4.__name__=='__main__'
__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。