PHP前端开发

整理的一些Python常用方法供大家参考

百变鹏仔 3小时前 #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