1:判断两个小数相等最好不要用a==b的形式,应该用abs(a—b)<eps的形式,eps可以是一个很小的数,比如让eps=0.000001,总之,两个数的差足够小,就认为它们相等,具体足够小取多少,根据题目要求来定,一般取10的-6次方。
2:打印调用,同时控制长度:
x1=2.444567
x2=4.6785343
print("x1={:.5f};x2={:.5f}".format(x1,x2))
》》x1=2.44457;x2=4.67853
3:enumerate()用法
seasons=["spring","summer","fall","winter"]
enumerate(seasons)
<enumerate object at 0x000002E12E40CEC0>
list(enumerate(seasons))
[(0, 'spring'), (1, 'summer'), (2, 'fall'), (3, 'winter')]
list(enumerate(seasons,start=10))
[(10, 'spring'), (11, 'summer'), (12, 'fall'), (13, 'winter')]
4:zip() 用法
x=[1,2,3]
y=[4,5,6]
zipped=zip(x,y)
list(zipped)
[(1, 4), (2, 5), (3, 6)]
z=[7,8,9]
zipped=zip(x,y,z)
list(zipped)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
-长度不一致时,按最短的
z="fishc"
zipped=zip(x,y,z)
list(zipped)
[(1, 4, 'f'), (2, 5, 'i'), (3, 6, 's')]
-若希望保留最长的元zip_longest()
import itertools
zipped=itertools.zip_longest(x,y,z)
list(zipped)
[(1, 4, 'f'), (2, 5, 'i'), (3, 6, 's'), (None, None, 'h'), (None, None, 'c')]
5:map()用法
mapped=map(pow,[2,3,10],[5,2,3])
list(mapped)
[32, 9, 1000]
等价于计算三次三次方
[pow(2,5),pow(3,2),pow(10,3)]
[32, 9, 1000]
6:filter()函数,过滤函数
list(filter(str.islower,"Fishc")) #过滤出小写的字母
['i', 's', 'h', 'c']
7:迭代器和迭代对象
一个迭代器一定是一个可迭代对象
可迭代对象是可以重复使用的,而迭代器是一次性的
比如:map()返回的是迭代器,再次调用时为空
mapped=map(ord,"Fishc")
for each in mapped:8:
print(each)
70
105
115
104
99
list(mapped)
[]
8:把可迭代对象转换成一次性的迭代器,iter()
x=[1,2,3,4,5]
y=iter(x)
type(x)
<class 'list'>
type(y)
<class 'list_iterator'>
9:针对迭代器的函数:next()
将迭代器中元素一一打印出来,防止打印超过迭代器元素数量,加一个参数,比如:
next(p,"没啦")
本文介绍了Python编程中几个实用的技巧,包括如何精确比较浮点数、格式化输出、使用enumerate和zip函数处理序列数据、利用map和filter进行高效数据处理,以及迭代器的基本用法。
2202

被折叠的 条评论
为什么被折叠?



