欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3常用內(nèi)置方法代碼實(shí)例

 更新時(shí)間:2019年11月18日 16:43:28   作者:MrBigB  
這篇文章主要介紹了Python3常用內(nèi)置方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Python3常用內(nèi)置方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

max()/min()

  • 傳入一個(gè)參數(shù) (可迭代對(duì)象), 返回這個(gè)可迭代對(duì)象中最大的元素
    • 可以設(shè)置default關(guān)鍵字參數(shù), 當(dāng)這個(gè)可迭代對(duì)象為空時(shí), 返回default的值
  • 傳入多個(gè)參數(shù), 返回這些參數(shù)中最大的參數(shù)
    • 多個(gè)參數(shù)必須是同類型的
  • 兩種方法都可以設(shè)置key關(guān)鍵字參數(shù)(傳入函數(shù))
"""
  max(iterable, *[, default=obj, key=func]) -> value
  max(arg1, arg2, *args, *[, key=func]) -> value
  
  With a single iterable argument, return its biggest item. The default keyword-only argument specifies an object to return if the provided iterable is empty.
  With two or more arguments, return the largest argument.
"""

res = max([1, 2, 3], default=0)
print(res) # 3

# 傳入了一個(gè)空的可迭代的對(duì)象參數(shù), 返回默認(rèn)值0
res = max([], default=0)
print(res) # 0

lis = [1, 2, 3]

def func(num):
  return -num
# res = max(lis, key=func)
res = max(lis, key=lambda num: -num)
print(res) # 1

"""
key參數(shù)接收的是一個(gè)函數(shù)對(duì)象
max函數(shù)會(huì)將lis里面的元素依次傳入轉(zhuǎn)換函數(shù) 
哪個(gè)元素經(jīng)過(guò)轉(zhuǎn)換函數(shù)得到的值最大, 就返回該元素
"""

filter() 過(guò)濾

  • 第一個(gè)參數(shù)(形參), 要么是func, 要么是None, 不傳會(huì)報(bào)錯(cuò)
  • 第二個(gè)參數(shù)是可迭代對(duì)象
  • 返回一個(gè)filter obj (iterator)
  • filter()方法會(huì)過(guò)濾掉:
    • 本身布爾值為False的元素
    • 經(jīng)過(guò)函數(shù)處理后, 返回值的布爾值為False的元素
"""
  filter(function or None, iterable) --> filter object
  
  Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true.
"""
  
  
"""
需要傳入兩個(gè)參數(shù), 第一個(gè)是函數(shù)或者None, 第二個(gè)是可迭代對(duì)象
返回的是一個(gè)filter obj(迭代器)
如果第一個(gè)參數(shù)時(shí)None, 則返回的迭代器中只包含可迭代對(duì)象中為True的元素
如果第一參數(shù)是一個(gè)函數(shù), 可迭代對(duì)象中元素傳入該函數(shù), 結(jié)果為True, 則filter方法返回的迭代器就會(huì)包含此元素
"""
lis = [0, 1, 2, 3]

filter_obj = filter(None, lis)
print(list(filter_obj)) # [1, 2, 3]


def func(num):
  if num > 1:
    return 0


filter_obj = filter(func, lis)
print(list(filter_obj)) # []

filter_obj = filter(lambda num: num > 1, lis)
print(list(filter_obj)) # [2, 3]

map() 映射

  • 第一個(gè)參數(shù)必須是函數(shù)
  • 后面可傳入一個(gè)或多個(gè)可迭代對(duì)象參數(shù)
    • 可迭代對(duì)象參數(shù)的個(gè)數(shù), 必須和函數(shù)的參數(shù)個(gè)數(shù)相同
    • 多個(gè)可迭代對(duì)象包含的元素個(gè)數(shù)不一致, 則以元素個(gè)數(shù)最少的那個(gè)為準(zhǔn)
  • 返回一個(gè)map obj (iterator)
"""
  map(func, *iterables) --> map object
  
  Make an iterator that computes the function using arguments from
  each of the iterables. Stops when the shortest iterable is exhausted.  
"""
  
def func1(x):
  return x + 1


"""
參數(shù)1: 函數(shù), 參數(shù)2:可迭代對(duì)象
1.可迭代對(duì)象的中的元素依次傳入函數(shù)得到返回值res
2.調(diào)用map函數(shù)最終會(huì)得到一個(gè)迭代器對(duì)象iterator
3. 這個(gè)iterator就包含了res
"""
map_obj = map(func1, [1, 2, 3])
print(list(map_obj)) # [2, 3, 4]


def func2(x, y):
  return x + y

"""
傳入的可迭代對(duì)象參數(shù)個(gè)數(shù)與函數(shù)所需要的參數(shù)個(gè)數(shù)是相等的
取值個(gè)數(shù)以最短的為準(zhǔn)
"""
map_obj = map(func2, [1, 2, 3], [1, 2, 3, 4])
print(list(map_obj)) # [2, 4, 6]

sorted篩選

  • 第一個(gè)參數(shù)是可迭代對(duì)象
  • 第二參數(shù)是key, 第三個(gè)參數(shù)是reverse, 這兩個(gè)參數(shù)可不傳
"""
  sorted(iterable, key, reverse) --> list
  
  Return a new list containing all items from the iterable in ascending order.
  A custom key function can be supplied to customize the sort order, and the reverse flag can be set to request the result in descending order.
"""
lis = [3, 2, 4, 5, 1]

# 1.只傳入可迭代對(duì)象參數(shù)
res = sorted(lis)
print(res) # [1, 2, 3, 4, 5]


def func(x):
  return -x
"""
2.當(dāng)傳入函數(shù)時(shí), 可迭代對(duì)象元素排序的依據(jù)是他們傳入函數(shù)得到結(jié)果
注意: 還是對(duì)原來(lái)的元素進(jìn)行排序, 而不是對(duì)元素傳入函數(shù)得到的結(jié)果, 只是以這個(gè)結(jié)果為排序的依據(jù)
"""
res = sorted(lis, key=func)
print(res) # [5, 4, 3, 2, 1]

reduce()減少

  • 第一個(gè)參數(shù)是函數(shù)
  • 該函數(shù)必須是有且只有兩個(gè)參數(shù)
  • 第二個(gè)參數(shù)是序列
  • initial是初始值, 可以當(dāng)做序列的第一個(gè)元素
  • 這個(gè)reduce指的是不斷減少的是序列中的元素個(gè)數(shù), 直到序列只剩下一個(gè)元素, 返回該元素
from functools import reduce

"""
  reduce(function, sequence[, initial]) -> value

  Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value.
  For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). 
  If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty.
"""

lis = [1, 2, 3, 4, 5]
res1 = reduce(lambda x, y: x + y, lis)
print(res1) # 15

res2 = reduce(lambda x, y: x + y, lis, 1)
print(res2) # 16

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django2.1.3 中間件使用詳解

    Django2.1.3 中間件使用詳解

    這篇文章主要介紹了Django2.1.3 中間件使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Django model反向關(guān)聯(lián)名稱的方法

    Django model反向關(guān)聯(lián)名稱的方法

    今天小編就為大家分享一篇Django model反向關(guān)聯(lián)名稱的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python socket如何實(shí)現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP)

    Python socket如何實(shí)現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP)

    這篇文章主要介紹了Python socket如何實(shí)現(xiàn)服務(wù)端和客戶端數(shù)據(jù)傳輸(TCP),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python實(shí)現(xiàn)雪花飄落效果實(shí)例講解

    python實(shí)現(xiàn)雪花飄落效果實(shí)例講解

    在本篇文章里小編給大家整理了關(guān)于python實(shí)現(xiàn)雪花飄落效果的相關(guān)實(shí)例內(nèi)容,以及代碼寫法,需要的朋友們參考下。
    2019-06-06
  • 詳解python requests中的post請(qǐng)求的參數(shù)問(wèn)題

    詳解python requests中的post請(qǐng)求的參數(shù)問(wèn)題

    這篇文章主要介紹了詳解python requests中的post請(qǐng)求的參數(shù)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python基于event實(shí)現(xiàn)線程間通信控制

    python基于event實(shí)現(xiàn)線程間通信控制

    這篇文章主要介紹了python基于event實(shí)現(xiàn)線程間通信控制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • python PIL中ImageFilter模塊圖片濾波處理和使用方法

    python PIL中ImageFilter模塊圖片濾波處理和使用方法

    這篇文章主要介紹PIL中ImageFilter模塊幾種圖片濾波處理和使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • 提高?Python?開(kāi)發(fā)效率的3個(gè)小工具

    提高?Python?開(kāi)發(fā)效率的3個(gè)小工具

    這篇文章主要給大家分享得事提高?Python?開(kāi)發(fā)效率的3個(gè)小工具,它們能夠幫助我們提高工作效率。本文將介紹筆者在近一周發(fā)現(xiàn)的三個(gè)小工具,寫文章以做記錄,希望能對(duì)大家有所幫助
    2022-01-01
  • pandas之query方法和sample隨機(jī)抽樣操作

    pandas之query方法和sample隨機(jī)抽樣操作

    這篇文章主要介紹了pandas之query方法和sample隨機(jī)抽樣操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python發(fā)送email的3種方法

    Python發(fā)送email的3種方法

    這篇文章主要介紹了Python發(fā)送email的3種方法,本文講解了使用登錄郵件服務(wù)器方法、調(diào)用sendmail命令、使用smtp服務(wù)來(lái)發(fā)送三種方法,需要的朋友可以參考下
    2015-04-04

最新評(píng)論