哈喽兄弟们
在大家的日常python程序的编写过程中,都会有自己解决某个问题的解决办法,或者是在程序的调试过程中,用来帮助调试的程序公式。
小编通过几十万行代码的总结处理,总结出了22个python万用公式,可以帮助大家解决在日常的python编程中遇到的大多数问题,一起来看看吧。
对于数值的输入问题,是很多笔试题目中经常遇到的问题,一次性输入多个参数值 ,可以节省时间和代码量,为后面的程序编写节省时间。
# 确定数值的输入时 num1,num2 = map(int,input().split()) print("num1:",num1) print("num2:",num2) # 不确定数值的输入时 list1 = list(map(int,input().split())) print("list1:",list1)
运行结果
在进行数值的迭代时,可以利用enumerate的内置函数来获取可迭代对象数值的同时,得到数值的索引,并利用索引对数值进行操作。
list2 = [1,2,3,4,5,6] for k, v in enumerate(list2): if k % 2 == 0: print("v**2:",v**2) else: print("v:",v)
运行结果
通过下图的程序,可以进行对象的内存占用量查询。
from sys import getsizeof num = 1 print(getsizeof(num))
运行结果
通过内置函数id(),可以进行不同变量的内存地址的查询
num1 = 20 str1 = "hello world" print(id(num1)) print(id(str1))
运行结果
不同的字符串,可以有相同的字母组成,同样,列表也可以有相同的元素组成,通过下述的程序,可以判断不同字符串或者是列表是否有相同的元素。
def CheckStr(gen1,gen2): return sorted(gen1) == sorted(gen2) print(CheckStr("python","python")) print(CheckStr([1,2,3],[3,2,1]))
运行结果
当处理json数据或者是数据库中的内容时,会用到字典的合并,有时候还会遇到具有相同键值的字典,可以通过下图程序中的两种方法进行解决。
dict1 = {"name":['Jame','Alice'],"num":["212019","312016"]} dict2 = {"sex":["M","F"]} # 方法1 finaldict = {**dict1,**dict2} print(finaldict) # 方法2 finaldict = dict1.copy() finaldict.update(dict2) print(finaldict)
运行结果
在程序运行中,会遇到保存一些图片、文字的情况,这个时候就需要利用程序来判断某个文件或者文件夹是否存在。
import os def CheckFile(): print("文件夹存在:",os.path.exists("data")) if not os.path.exists("data"): os.mkdir("data") CheckFile()
运行结果
通过Python语言的内联for循环的方式,实现对于列表中的所有元素的操作。
list8 = range(1,8) list_squares = [i**2 for i in list8] print(list_squares)
运行结果
将两个列表转换为字典,常见的情况是一个列表作为键,另一个列表作为值来构造字典。
list1 = ['James','Alice','Hoton'] list2 = [88,86,91] # 方法1 利用zip内置函数 dict1 = dict(zip(list1,list2)) # 方法2 去除dict的隐式转换 dict2 = {key:value for key,value in zip(list1,list2)} # 方法3 利用for循环 dict3 = {} for k, v in zip(list1,list2): if k not in dict3.keys(): dict3[k] = v print("dict1:",dict1) print("dict2:",dict2) print("dict3:",dict3)
运行结果
当大家需要对一个字符串列表进行排序时,可以利用下图中的程序进行排序。
list1 = ['James','Alice','Hoton','Cris'] print(sorted(list1,key=lambda x:x.lower()[0])) # 按照字符串的第一个字母排序 print(sorted(list1,key=lambda x:x.lower()[-1])) # 按照字符串的最后一个字母排序
运行结果
利用if和else的操作,可以基于某些条件过滤数据,如下图所示。
list11 = list(range(1,20)) print("偶数平方:",[i**2 if i % 2 == 0 else i for i in list11])
运行结果
对于两个列表的合并,可以通过花式的列表合并来将两个列表组合成一个新的列表。
list1 = ["1","2","3","4"] list2 = ["one","two","three","four"] new_list = [x + y for x,y in zip(list1,list2)] print("逐元素相加:",new_lis