然而实际上也能够导致甚多愉快趣味。再度注视某些起初并未受众人清楚知晓的内置用处之功能并非显得有想象呈现那般困难, 可是为啥要开展如此作为呢? 现今, 此篇章便要精心精细详尽细密地剖析阐析释义解析3个于日常工作期间或多或少都会被运用采用, 然而绝大多数时候都被漠视忽视忽略遗漏不理会的函数。
即便它们大概不会节省巨量的时间(要是知晓了背后确凿的逻辑), 然而会让代码看上去更精炼清晰。或许这听着没什么了不起的, 可是长远来讲, 能让读者颇获益处。从首个函数着手吧!
1. map()
map() 是函数, 是内置的那种, 用于把函数应用到元素序列, 像列表或者字典那类, 它恐怕算是进行数据操作时最简单容易的去读的办法。
下面的示例目的在于求出列表里数字的平方数, 首先,得明确所运用的函数, 接下来, 笔者呈现并对比了运用map()以及不运用map()的方法, 也就是求和与非的方法。
nums =
1, 2, 3, 4, 5
this will
def (x):
x**2
# non-
=
for num in nums:
.((num))
print('Non- : ', )
#
x = map(, nums)
print(' : ', list(x))
输出本质上是相同的,但方法明显更加简洁,过程也不需要循环。
2. zip ()
能够让用户同时对两个或者多个列表进行迭代的zip()函数, 是备受笔者青睐且在处理日期于时间相关问题时特别实用从而成为笔者最为中意去使用的函数当中的一个。
比如, 要是每天于工作里运用它, 当用户具备第一个属性之际意味着该事件的起始时间, 当拥有第二个属性之时意味着该事件的结束时刻。再进一步思索, 工作当中老是得计算事件相互之间的时间差值, 而zip是到目前为止最为简易的实现办法。
范例中创建了两个包含数字的列表,任务是对相应的元素求和:
first =
1, 3, 8, 4, 9
=
2, 2, 7, 5, 8
for x, y in zip(first, ):
print(x + y)
这样既简单又干净。
3. ()
就从某种维度来讲, 一种函数跟map() 函数会有些好像, 也就是会把一个函数施加到某一个序列之上, 然而不一样的地方就是, 那种函只会回馈真实情况为True的相应元素。
在如下示例里, 笔者构建了一个任意数字所组成的列表, 还构建了一个函数, 要是该数字属于偶数范畴, 此函数就要返回为True。同样的, 笔者会展示怎么样以非和的方式去施行这个操作。
=
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
def even(x):
x % 2 == 0
# non-
=
for num in :
if even(num):
.(num)
print('Non- : ', )
#
= (even, )
print(' : ', list())
同样, 方法具备着更为简洁的特性, 同时也拥有着更为可读的特质, 而这正是读者在学会之后将会从中获取终身受益之感的事物。