快收藏我整理了个Python小技

白癜风医院美丽黄皮肤行动 http://nb.ifeng.com/a/20180612/6646918_0.shtml

导读:目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手。

你可以用它来完成很多任务,比如数据科学、机器学习、Web开发、脚本编写、自动化等。下面就给大家分享个Python小技巧,帮助大家更好的了解和学习Python。作者:小F来源:法纳斯特(ID:walker)01for循环中的else条件这是一个for-else方法,循环遍历列表时使用else语句。下面举个例子,比如我们想检查一个列表中是否包含奇数。那么可以通过for循环,遍历查找。

numbers=[2,4,6,8,1]fornumberinnumbers:ifnumber%2==1:print(number)breakelse:print("Nooddnumbers")如果找到了奇数,就会打印该数值,并且执行break语句,跳过else语句。没有的话,就不会执行break语句,而是执行else语句。02从列表中获取元素,定义多个变量

my_list=[1,2,3,4,5]one,two,three,four,five=my_list03使用heapq模块,获取列表中n个最大或最小的元素

importheapqscores=[51,33,64,87,91,75,15,49,33,82]print(heapq.nlargest(3,scores))#[91,87,82]print(heapq.nsmallest(5,scores))#[15,33,33,49,51]04将列表中的所有元素作为参数传递给函数我们可以使用*号,提取列表中所有的元素

my_list=[1,2,3,4]print(my_list)#[1,2,3,4]print(*my_list)#如此便可以将列表中的所有元素,作为参数传递给函数

defsum_of_elements(*arg):total=0foriinarg:total+=ireturntotalresult=sum_of_elements(*[1,2,3,4])print(result)#5获取列表的所有中间元素

_,*elements_in_the_middle,_=[1,2,3,4,5,6,7,8]print(elements_in_the_middle)#[2,3,4,5,6,7]06使用一行代码赋值多个变量

one,two,three,four=1,2,3,列表推导式只用一行代码,便可完成对数组的迭代以及运算。比如,将列表中的每个数字提高一倍。

numbers=[1,2,3,4,5]squared_numbers=[num*numfornuminnumbers]print(squared_numbers)#[1,4,9,16,25]推导式不仅列表能用,字典、集合、生成器也能使用。下面看一下,使用字典推导式,将字典的值提高一倍。

dictionary={a:4,b:5}squared_dictionary={key:num*numfor(key,num)indictionary.items()}print(squared_dictionary)#{a:16,b:25}08通过Enum枚举同一标签或一系列常量的集合枚举是绑定到唯一的常量值的一组符号名称(成员)。在枚举中,成员可以通过身份进行比较,枚举本身可以迭代。

fromenumimportEnumclassStatus(Enum):NO_STATUS=-1NOT_STARTED=0IN_PROGRESS=1COMPLETED=2print(Status.IN_PROGRESS.name)#IN_PROGRESSprint(Status.COMPLETED.value)#重复字符串

name="Banana"print(name*4)#BananaBananaBananaBanana10比较3个数字的大小如果想比较一个值和其他两个值的大小情况,你可以使用简单的数学表达式。

1x10这个是最简单的代数表达式,在Python中也是可以使用的。

x=3print(1x10)#Trueprint(1xandx10)#True11使用1行代码合并字典

first_dictionary={name:Fan,location:Guangzhou}second_dictionary={name:Fan,surname:Xiao,location:Guangdong,Guangzhou}result=first_dictionary

second_dictionaryprint(result)#{name:Fan,location:Guangdong,Guangzhou,surname:Xiao}12查找元组中元素的索引

books=(Atomichabits,Egoistheenemy,Outliers,Mastery)print(books.index(Mastery))#将字符串转换为字符串列表假设你在函数中获得输出,原本应该是一个列表,但实际上却是一个字符串。

input="[1,2,3]"你可能第一时间会想到使用索引或者正则表达式。实际上,使用ast模块的literal_eval方法就能搞定。

importastdefstring_to_list(string):returnast.literal_eval(string)string="[1,2,3]"my_list=string_to_list(string)print(my_list)#[1,2,3]string="[[1,2,3],[4,5,6]]"my_list=string_to_list(string)print(my_list)#[[1,2,3],[4,5,6]]14计算两数差值计算出2个数字之间的差值。

defsubtract(a,b):returna-bprint((subtract(1,3)))#-2print((subtract(3,1)))#2上面的这个方法,需要考虑数值的先后顺序。

defsubtract(a,b):returna-bprint((subtract(a=1,b=3)))#-2print((subtract(b=3,a=1)))#-2使用命名参数,安排顺序,这样就不会出错了。15用一个print()语句打印多个元素

print(1,2,3,"a","z","thisishere","hereissomethingelse")16在同一行打印多个元素

print("Hello",end="")print("World")#HelloWorldprint("Hello",end="")print("World")#HelloWorldprint(words,with,



转载请注明地址:http://www.gongjingmilanagjml.com/glcx/8002.html
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章