以下是我在一个网址上看到的,自己就在这总结了一下,算是在学习过程中的笔记吧!
enumerate(list)
迭代列表时,应该同时迭代其中的元素及其索引。
mylist = ["It's","only","a","model"]
for index,item in enumerate(mylist):
print(index,item)
输出:
(0, "It's")
(1, 'only')
(2, 'a')
(3, 'model')
在许多语言中,4>3>2的结果是False,因为4>3的结果是布尔值,而True>2将会得出False。
mynumber = 3
if 4 > mynumber > 2:
print("i am won!\n" * 3)
输出结果:
i am won!
i am won!
i am won!
collections.Counter
在计算需要集合中元素的个数是,可以用collections.deque
from collections import Counter
from random import randrange
import pprint
mycounter = Counter()
for i in range(100):
random_number = randrange(10)
mycounter[random_number]+= 1
for i in range(10):
print(i,mycounter[i])
输出结果是:
(0, 14)
(1, 13)
(2, 7)
(3, 10)
(4, 11)
(5, 6)
(6, 10)
(7, 13)
(8, 8)
(9, 8)
字典推导
Python开发者的一个重要标志就是理解列表推导,但是字典推导同样也是非常重要的。
my_phrase = ["No","one","expects","the","Spanish","Inquisition"]
my_dict={key:value for value,key in enumerate(my_phrase)}
print(my_dict)
reversed_dict = {value:key for key,value in my_dict.items()}
print(reversed_dict)
输出结果为:
{'Inquisition': 5, 'No': 0, 'expects': 2, 'one': 1, 'Spanish': 4, 'the': 3}
{0: 'No', 1: 'one', 2: 'expects', 3: 'the', 4: 'Spanish', 5: 'Inquisition'}
用subprocess执行shell命令
import subprocess
output=subprocess.check_output("dir",shell=True)
print(output)
用os库的话:
import os
os.system("dir")
如果想要保存到变量中可以用popen
import os
output=os.popen("dir")
print output.read()
字典的.get()和.iteritems()方法
字典的get()方法可以设置默认值,当用get()查找的键不存在时,返回方法中的默认值参数是很有用的。与列表中的enumerate()相同,可以用键值元组迭代字典中的元素。
my_dict = {'name':'lancelot','quest':'Holy Grail','favourite_color':'blue'}
print(my_dict.get("airspeed velocity of an unladen swallow","African or European?\n"))
for key, value in my_dict.iteritems():
print(key, value)
输出结果:
African or European?
('quest', 'Holy Grail')
('name', 'lancelot')
('favourite_color', 'blue')
如果要用for迭代输出字典,就要用到字典的iteritems()方法,这个方法在Python3.x中已废除,取代的是items()方法,items()方法在Python2.x中也存在着。