全民学习Python?你应该有10个Python小技巧。


一千个读者心中有一千个哈姆雷特,要问一千个程序员“什么是最好的语言”,Java、Python、PHP、C++而且还有自己的位置。但是要问编程语言流行指数之王非,那真的非Python莫属。


根据StackOverflow数据,Python是编程语言中使用最快的语言。


根据福布斯最新发布的一份报告,去年python的使用量增长了456%。Netfix、Python被用于IBM和其他数百家公司。python也是由python创建的,包括Dropbox。


根据Dice的研究,python是世界上最受欢迎的技术之一,python也是编程语言中最受欢迎的一种。


为什么Python有这么大的魅力?


因为,与其他编程语言相比,Python具有以下五个优点:


1、兼容主流平台,操作系统。


2、包含很多开源框架和工具。


3、编码具有可读性和可维护性


4、强大的标准库


5、开发标准测试驱动力


Python越来越受欢迎,因为它的学习门槛低,发展前景广阔。今天,小芯将继续为您带来10个关于python非常有用的代码提示,帮助您完成日常工作。请注意检查和学习~


Python10个小技巧


使用ZIP处理列表


假定要合并相同长度的列表并打印结果。使用zip()函数获得想要的结果也有一个比较常见的方法,代码如下:


countries=['France','Germany','Canada']


capitals=['Paris','Berlin','Ottawa']


forcountry,capitalinzip(countries,capitals):


print(country,capital)#FranceParis


GermanyBerlin


CanadaOttawa


使用pythoncollections


Pythoncollections是一种容器数据类型,即列表、集合、元组和字典。Collections模块提供了一种高性能的数据类型,可以增强代码,使工作更简单、更容易。


下面使用Counter()函数进行演示,还提供了许多功能。


Counter()函数使用可迭代对象(如列表或元组),并返回Counter字典。字典键是迭代器中唯一存在的元素,每个键的值是迭代器中出现次数的计数。


为了创建一个Counter对象,向Counter()函数传输一个迭代(列表),代码如下。


fromcollectionsimportCountercount=Counter(['a','b','c','d','b','c','d','b'])


print(count)#Counter({'b':3,'c':2,'d':2,'a':1})


使用itertools


Python的itertools模块是一个工具集,用于处理迭代器。Itertools包含多种工具,用于生成可迭代的输入数据结果。以下是itertools.combinations()为例。


itertools.combinations()用于构建组合。这是一个可能的输入组合项。


在现实中举一个例子来阐明上述观点:


假设一场锦标赛有四支球队,在联赛阶段,每支球队都要和每支球队进行比赛。任务是列出所有球队的可能组合。


代码如下:


importitertools


friends='Team1','Team2','Team3','Team4''


list(itertools.combinations(friends,r=(Team1,Team2),(Team1,Team3),(Team1,Team4),(Team2,Team3),(Team2,Team3),(Team2,Team4),(Team3,Team4)


值的顺序不重要,需要注意。由于('Team1','Team2')和('Team2','Team1')代表同一对,因此输出列表只需包含其中一个。类似的,可以使用itertools.permutations()以及其它来自该模块的函数。


如果您需要更完整的参考资料,请参考本教程。


从函数中返回多个值


Python可以从函数调用中返回多个值,这是很多其他流行编程语言所没有的功能。在这种情况下,返回值应该是逗号分隔的值列表,然后python构建一个元组并返回给调用者。代码示例如下:


defmultiplication_division(num1,num2):


num1/num2,returnnum1*num2product,division=multiplication_division(15,3)


print("Product=",product,"Quotient=",division)#Product=5.05Quotient


使用列表推导式


列表推导式用于从其他可迭代对象中创建新列表。当列表推导式返回列表时,它由包含表达式的方括号组成,该表达式用于for循环执行每个元素和用于循环遍历每个元素。


列表推导速度更快,因为它优化了python解释器,并且可以在循环中找到可预测的模式。


下面,用列表推导式计算前五个整数的平方:


m=[x**2forxinrange(5)


print(m)#[0,1,4,9,16]


例如,使用列表推导来查找两个列表中的公共数字。


list_a=[1,2,3,4]


list_b=[2,3,4,5]


common_num=[aforainlist_aforbinlist_bifa==b]


print(common_num)#[2,3,4]


把两个列表转换成一个字典


假设有两个列表,一个是学生的名字,另一个是学生的分数。使用zip函数将这两个列表转换成字典,代码如下:


students=["Peter","Julia","Alex"]


marks=[84,65,77]


dictionary=dict(zip(students,marks))


print(dictionary)#{'Peter':84,'Julia':65,'Alex':77}


字符串拼接


拼接字符串时,可以通过for循环逐一添加元素,但效率很低(尤其是列表很长的时候)。在python中,字符串是不可改变的,因此在拼接字符串时,必须将左右字符串复制到新的字符串中。


使用join()函数的更好方法如下:


characters=['p','y','t','h','o','n']


word="".join(characters)


print(word)#python


使用sorted()函数


内置函数sorted()在python中可以很容易地对任何序列进行排序,它可以完成许多困难的工作。sorted()可以对任何序列(列表、元组)进行排序,并返回已排序的元素列表。以下是对数字的升序排列:


sorted[1,2,3,4,4,5][3,5,2,1,4]


下面是对字符串的降序排列:


sorted(['france','germany','canada','india','china'],reverse=True)#['india','germany','france','china','canada']


9.用enumerate()迭代


Enumerate()将计数器添加到可迭代对象中,并以枚举对象的形式返回。


下面是一个经典的编码面试问题(通常被称为FizzBuzz问题)。


在列表中编写一个程序来打印数字。如果数字是3的倍数,输出“fizz”;倍数为5,输出"buzz”;既是3又倍数为5,输出"fizzbuzz”。


numbers=[30,42,28,50,15]


fori,numinenumerate(numbers):


ifnum%=0andnum%5=0=:


numbers[i]='fizzbuzz'


elifnum%3==0:


numbers[i]='fizz'


elifnum%5==0:


numbers[i]='buzz'


print(numbers)#['fizzbuzz','fizz',28,'buzz','fizzbuzz']


使用pythongenerators(生成器)


generator函数允许创建类似迭代器的函数。它们允许程序员以简单快捷的方式创建迭代器。以下是一个例子来解释这个概念。


假定从1开始就要求和前1000000个完全平方数。


看上去很容易吧?使用列表推导可以很容易地做到这一点,但它的输入量太大了。以下是一个例子:


t1=time.cloc



以下是小编精心整理的全民一起玩python课程目录,希望对您有所帮助:


00书到深处真如铁,今迈步从头越


01集成化环境面面俱到,Pycharm软件无所不包


02模块导入先运行,巧用name规范主宾


提高篇结语:学问不可有遗力,编程功夫今始成


第一部分上:数据类型与语法细节


第一部分下:深入理解各种容器


第二部分:字符串与正则表达式


第三部分:面向对象原理与语法


第四部分:理解函数与函数式编程


视频教程截图:



全民一起玩python教程自学_全套提高篇爬虫录制视频课程

全民一起玩python教程自学_全套提高篇爬虫录制视频课程下载地址
全民一起玩python 提高班
阿里网盘 / 课程大小:0.00字节
提取码:**** (购买后可见)
下载
评论下
  • 顺带评个分
提交
返回顶部