Python operator 模組簡單介紹

2021-08-14 15:24:53 字數 3815 閱讀 1869

簡單介紹幾個常用的函式,其他的請參考文件。

operator.concat(a, b)

operator.concat(a, b)

對於 a、b序列,返回a + b(列表合併)

---------------------------------

operator.countof(a, b)

返回 b 在 a 中出現的次數

perator.delitem(a, b)

operator.delitem(a, b)

刪除 a 中索引為 b 的值

operator.getitem(a, b)

operator.getitem(a, b)

返回 a 中索引為 b 的值

operator.indexof(a, b)

返回 b 在 a 中首次出現位置的索引值。

operator.setitem(a, b, c)

operator.setitem(a, b, c)

設定 a 中索引值為 b 的專案值更改為 c

operator 模組也為屬性和專案的查詢提供了一些工具。這些工具使得map(), sorted(), itertools.groupby()或其他函式 需要的引數的提取更方便更快速。上面的函式有乙個共同點,即均接受函式引數。

operator.attrgetter(attr)

operator.attrgetter(*attrs)

返回乙個可呼叫的物件,該物件從運算中獲取 'attr' 。如果請求的屬性不止乙個的話, 返回屬性的元組。這些屬性的名字可以包括 '.'。

比如:

operator.itemgetter(item)

operator.itemgetter(*items)

返回乙個可呼叫的物件,該物件通過運算子的__getitem__()的方法 從運算中獲取item。如果指定了多個item, 返回查詢值的元組。

比如:

相當於:

def

itemgetter

(*items):

if len(items) == 1:

item = items[0]

defg(obj):

return obj[item]

else:

defg(obj):

return tuple(obj[item] for item in items)

return g

運算子的__getitem__()方法可接受任意型別的專案。字典接收任意的雜湊值。列表、元組和字串接收乙個索引或字元片段。

>>> itemgetter(1)('abcdefg')

'b'>>> itemgetter(1,3,5)('abcdefg')

('b', 'd', 'f')

>>> itemgetter(slice(2,none))('abcdefg')

'cdefg'

使用itemgetter()從元組序列中獲取指定的域值,比如:

>>> getcount = itemgetter(1)

>>> map(getcount, inventory)

[3, 2, 5, 1]

>>> sorted(inventory, key=getcount)

最後operator相關的資訊對應如下:

operation

syntax

function

addition

a + b

add(a, b)

concatenation

seq1 + seq2

concat(seq1, seq2)

containment test

obj in seq

contains(seq, obj)

division

a / b

div(a, b) (without future.division)

division

a / b

truediv(a, b) (with future.division)

division

a // b

floordiv(a, b)

bitwise and

a & b

and_(a, b)

bitwise exclusive or

a ^ b

xor(a, b)

bitwise inversion

~ ainvert(a)

bitwise or

a bor_(a, b)

exponentiation

a ** b

pow(a, b)

identity

a is b

is_(a, b)

identity

a is not b

is_not(a, b)

indexed assignment

obj[k] = v

setitem(obj, k, v)

indexed deletion

del obj[k]

delitem(obj, k)

indexing

obj[k]

getitem(obj, k)

left shift

a << b

lshift(a, b)

modulo

a % b

mod(a, b)

multiplication

a * b

mul(a, b)

negation (arithmetic)

- aneg(a)

negation (logical)

not a

not_(a)

positive

+ apos(a)

right shift

a >> b

rshift(a, b)

sequence repetition

seq * i

repeat(seq, i)

slice assignment

seq[i:j] = values

setitem(seq, slice(i, j), values)

slice deletion

del seq[i:j]

delitem(seq, slice(i, j))

slicing

seq[i:j]

getitem(seq, slice(i, j))

string formatting

s % obj

mod(s, obj)

subtraction

a - b

sub(a, b)

truth test

objtruth(obj)

ordering

a < b

lt(a, b)

ordering

a <= b

le(a, b)

equality

a == b

eq(a, b)

difference

a != b

ne(a, b)

ordering

a >= b

ge(a, b)

ordering

a > b

gt(a, b)

點滴積累,點滴生活,豐富研究生生活!

python operator模組講解

這些函式屬於執行物件比較,邏輯運算,數 算,序列運算和抽象型別測試的類別。operator.lt a,b 等價於a 等價於a b operator.ge a,b 等價於a b operator.gt a,b 等價於a b operator.concat a,b 對於 a b序列,返回a b 列表合併...

共模差模阻抗

特性阻抗 差分阻抗含義 特性阻抗 是根據輸入阻抗計算的出的平均值。輸入阻抗 是線纜實際量測的阻抗值。差分阻抗 發射訊號可正負交替又稱為平衡阻抗。共模阻抗 導體走正編織或地線走負的訊號。目前用於同軸線或帶地線的cable。又稱不平衡阻抗。特性阻抗 假設一根均勻電纜無限延伸,在發射端的在某一頻率下的阻抗...

in amp 共模差模濾波

首先,確定兩蘋串聯電阻器的阻值,同時保證前面的電路可充分地驅動這個阻抗。這兩蘋電阻器的典型值在2k 和10k 之間,這兩蘋電阻器產生的雜訊不應當大於該儀表放大器本身的雜訊。採用一對2k 電阻器,詹森雜訊會增加 8nv hz1 2 採用4k 電阻器,會增加11nv hz1 2 採用10k 電阻器,會增...