本篇文章主要介绍了"关于Python集合的几点建议",主要涉及到python方面的内容,对于Pythonjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
1. 检测列表是否是空没必要去调用len方法去检测一个列表是否是空,因为空列表求值就是False的。if len(mylist):# Do something...
1. 检测列表是否是空
没必要去调用len方法去检测一个列表是否是空,因为空列表求值就是False的。
if len(mylist):
# Do something with my listelse:
# The list is empty
可以用下面的方法代替:
if mylist:
# Do something with my listelse:
# The list is empty
2. 在迭代列表的同时获取元素的索引值
有时候你需要在迭代一个列表的同时获取每个元素的索引值。通常的做法是:
i = 0
for element in mylist:
# Do something with i and element i += 1
更好的做法是:
for i, element in enumerate(mylist):
# Do something with i and elementpass
3. 列表排序
创建一个persons列表:
class Person(object):
def__init__(self, age):
self.age = age
persons = [Person(age) for age in (14, 78, 42)]
如果我们想要根据age对列表进行排序,可以这么做:
def get_sort_key(element):
return element.age
for element in sorted(persons, key=get_sort_key):
print"Age:", element.age
我们定义了一个函数,返回作为排序条件的属性。并且把这个函数作为参数传递给sorted函数。因为这种排序很常用,所以Python标准库已经包含了这样的函数。
from operator import attrgetter
# attrgetter是一个高阶函数,可以返回一个函数for element in sorted(persons, key=attrgetter('age')):
print"Age:", element.age
这样做代码更易读。当你看到attrgetter函数的时候你就会知道它是用来获取一个属性的。operator模块中还有itemgetter和methodcaller方法,相信你一眼就能看出他们的作用。
以上就介绍了关于Python集合的几点建议,包括了python方面的内容,希望对Pythonjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_619044.html