Python常用方法和技巧汇总

这篇文章主要介绍了收藏的一些python常用方法和技巧,本文讲解了逆转字符串的三种方法、遍历字典的四种方法、遍历list的三种方法、字典排序的方法等python常用技巧和方法,需要的朋友可以参考下

1. 逆转字符串的三种方法
1.1. 模拟C++中方法, 定义一个空字符串来实现
通过设置一个空字符串, 然后讲参数中的字符串从后往前遍历, 使用字符串的加法合并为新的字符串

def reverse(text) :    str = ''    index = len(text) - 1    while index >= 0 :        str += text[index]        index -= 1    return str

登录后复制

1.2. 使用切片法
这个是Python中的一个特性, 切片可以取负值,这是采用切片的方法,设置步长为-1,这样就实现了反过来排序。

def reverse_1(text) :    return text[::-1]

登录后复制

1.3. 使用列表

采用列表的reverse方法,先将text转换为列表,然后通过reverse方法反转,然后在通过join连接为字符串。

立即学习“Python免费学习笔记(深入)”;

def reverse_2(text) :    temp = list(text)    temp.reverse()    return ''.join(temp)

登录后复制

2. 使用reduce
使用匿名函数和reduce()

def reverse_3(text) :    return reduce(lambda x, y : y + x, text)print reverse_3("Hello")

登录后复制

3. 遍历字典的四种方法

dict={"a":"apple","b":"banana","o":"orange"}  print "##########dict######################" for i in dict:         print "dict[%s]=" % i,dict[i]  print "###########items#####################" for (k,v) in  dict.items():         print "dict[%s]=" % k,v  print "###########iteritems#################" for k,v in dict.iteritems():         print "dict[%s]=" % k,v  print "###########iterkeys,itervalues#######" for k,v in zip(dict.iterkeys(),dict.itervalues()):         print "dict[%s]=" % k,v

登录后复制

4. 遍历list的三种方法

for key in lst :    print key    for i in range(len(lst)) :    print lst[i]for index, key in enumerate(lst) :    print key    //index是list的索引

登录后复制

5. 字典排序的方法
字典按照value的值从大到小的顺序来排序(默认从小到排序)。

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)print dict//输出的结果:[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]

登录后复制

下面我们分解下代码
print dic.iteritems() 得到[(键,值)]的列表。
然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。
对字典按键(key)排序:

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}dict= sorted(dic.iteritems(), key=lambda d:d[0]) # d[0]表示字典的键print dict#sorted中第三个可选参数为reverse, True表示从大到小排序#默认reverse = False

登录后复制

6. 子类和父类
子类构造函数调用父类的初始化构造函数

class A(object) :    def init(self) :        print  "testAclass B(A) :    def init(self) :        A.init(self)

登录后复制

子类调用父类的同名函数

super().fuleifunction()

登录后复制

7. 更灵活的参数传递方式

func2(a=1, b=2, c=3) #默认参数func3(*args)         #接受任意数量的参数, 以tuple的方式传入func4(**kargs)       #把参数以键值对字典的形式传入

登录后复制

在变量前加上星号前缀(*),调用时的参数会存储在一个 tuple()对象中,赋值给形参。在函数内部,需要对参数进行处理时,只要对这个 tuple 类型的形参(这里是 args)进行操作就可以了。因此,函数在定义时并不需要指明参数个数,就可以处理任意参数个数的情况。

def calcSum(*args):    sum = 0    for i in args:        sum += i        print sum#调用:calcSum(1,2,3)calcSum(123,456)calcSum()#输出:65790#################################def printAll(**kargs):    for k in kargs:    print k, ':', kargs[k]printAll(a=1, b=2, c=3)printAll(x=4, y=5)#输出:a : 1c : 3b : 2y : 5x : 4

登录后复制

python的中参数可以多种形式进行组合, 在混合使用时,首先要注意函数的写法,必须遵守:

1.带有默认值的形参(arg=)须在无默认值的形参(arg)之后
2.元组参数(*args)须在带有默认值的形参(arg=)之后
3.字典参数(**kargs)须在元组参数(*args)之后

在函数被调用时,参数的传递过程为:

1.按顺序把无指定参数的实参赋值给形参
2.把指定参数名称(arg=v)的实参赋值给对应的形参
3.将多余的无指定参数的实参打包成一个 tuple 传递给元组参数(*args)
4.将多余的指定参数名的实参打包成一个 dict 传递给字典参数(**kargs)

8. lambda 表达式
lambda 表达式可以看做一种匿名函数
    lambda 表达式的语法格式:
    lambda 参数列表: 表达式   #参数列表周围没有括号,返回值前没有 return 关键字,也没有函数名称

def fn(x):    return lambda y: x + y#调用a = fn(2)print a(3)#输出5

登录后复制

分析
: fn(2)调用后, 相当于a = lambda y: 2 + y, 然后a(3)被调用时.
相当于 print lambda y: 2 + 3

以上就是Python常用方法和技巧汇总的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2269168.html

(0)
上一篇 2025年2月27日 11:05:08
下一篇 2025年2月25日 22:01:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python编程JSON格式的转换、else语句的活用和setdefault方法详解

    这篇文章主要介绍了总结python编程中三条常用的技巧,包括json格式的转换、else语句的活用和setdefault方法的使用,需要的朋友可以参考下 在 python 代码中可以看到一些常见的 trick,在这里做一个简单的小结。jso…

    编程技术 2025年2月27日
    200
  • 适合利用Python合并多个装饰器?

    这篇文章主要介绍了python合并多个装饰器小技巧,本文用改写调用函数的方式实现把多个装饰器合并成一行、一个函数来调用,需要的朋友可以参考下 django程序,需要写很多api,每个函数都需要几个装饰器,例如 @csrf_exempt  @…

    编程技术 2025年2月27日
    200
  • Python如何查找子字符串

    这篇文章主要介绍了python字符串中查找子串小技巧,,需要的朋友可以参考下 如果让你写一个程序检查字符串s2中是不是包含有s1。也许你会很直观的写下下面的代码: #determine whether s1 is a substringof…

    编程技术 2025年2月27日
    200
  • Python中的高级编程一些小技巧总结

    这篇文章主要介绍了介绍python中的一些高级编程技巧,包括推导师和装饰器等重要的进阶知识点,皆为深入学习python开发的必备基本功,需要的朋友可以参考下  正文: 本文展示一些高级的Python设计结构和它们的使用方法。在日常工作中,你…

    编程技术 2025年2月27日
    200
  • 如何对Python进行性能优化

    python的批评者声称python性能低效、执行缓慢,但实际上并非如此:尝试以下6个小技巧,可以加快pytho应用程序。 Python是一门非常酷的语言,因为很少的Python代码可以在短时间内做很多事情,并且,Python很容易就能支持…

    编程技术 2025年2月27日
    200
  • 非常实用的Python小技巧总结

    这篇文章主要介绍了python常用小技巧,实例总结了python关于字典、字符串、随机数等操作技巧,非常简单实用,需要的朋友可以参考下 本文实例总结了Python常用的小技巧。分享给大家供大家参考。具体分析如下: 1. 获取本地mac地址:…

    编程技术 2025年2月27日
    200
  • 整理的一些Python常用方法供大家参考

    这篇文章主要介绍了收藏的一些python常用方法和技巧,本文讲解了逆转字符串的三种方法、遍历字典的四种方法、遍历list的三种方法、字典排序的方法等python常用技巧和方法,需要的朋友可以参考下 1. 逆转字符串的三种方法1.1. 模拟C…

    编程技术 2025年2月27日
    200
  • Python合并两个字典的效率实例比较

    这篇文章主要介绍了python合并两个字典的常用方法与效率比较,实例分析并对比了python合并字典的常用方法,需要的朋友可以参考下 本文实例讲述了Python合并两个字典的常用方法与效率比较。分享给大家供大家参考。具体分析如下: 下面的代…

    编程技术 2025年2月27日
    200
  • 总结3种Python合并字符串方法

    这篇文章主要介绍了python合并字符串的3种方法,本文讲解了使用+=操作符、使用%操作符、使用string的’ ‘.join()方法3种方法,需要的朋友可以参考下 目的   将一些小的字符串合并成一个大字符串,更多…

    编程技术 2025年2月27日
    200
  • lua编程基础入门教程

    Lua 是一种轻量级、紧凑高效且可嵌入的解释型编程语言。安装 Lua 并创建第一个程序,它使用 print(“你好,世界!”) 输出文本。Lua 中的变量是动态类型化的,并支持基本数据类型(数值、字符串、布尔值、表)…

    2025年2月27日
    200

发表回复

登录后才能评论