你應(yīng)該知道的Python新方法(一 )

Python 3.5 + :

  • 擴(kuò)展了*可迭代解包操作符和**字典解包操作符
# 例如應(yīng)用在字典融合中
x = {'a': 1, 'b': 2}
y = {'b': 3, 'd': 4}
# 在python3.5+ 中:
z = {**x, **y}
# >>> z
# >>> {'d': 4, 'b': 3, 'a': 1}
# 取出所有的key, 當(dāng)key相同時,后面覆蓋前面的value

# 在python2.x中
w = dict(x, **y)
# >>> w
# >>> {'d': 4, 'b': 3, 'a': 1}
>>> *range(4), 4
(0, 1, 2, 3, 4)

>>> [*range(4), 4]
[0, 1, 2, 3, 4]

>>> {*range(4), 4, *(5, 6, 7)}
{0, 1, 2, 3, 4, 5, 6, 7}

>>> {'x': 1, **{'y': 2}}
{'x': 1, 'y': 2}
  • 矩陣乘法添加了中綴運(yùn)算符 @
>>> import numpy

>>> x = numpy.ones(3)
>>> x
array([ 1., 1., 1.])

>>> m = numpy.eye(3)
>>> m
array([[ 1., 0., 0.],
       [ 0., 1., 0.],
       [ 0., 0., 1.]])

>>> x @ m
array([ 1., 1., 1.])

  • 為標(biāo)準(zhǔn)庫增加了一個新的目錄迭代函數(shù)os.scandir()
# scandir返回一個迭代器,而不是返回一個文件名列表
# 這會在遍歷非常大的目錄時提高內(nèi)存效率
# 下例將顯示給定路徑中不以'a'開頭的所有文件(不包括目錄) entry.is_file()調(diào)用通常不會進(jìn)行額外的系統(tǒng)調(diào)用

for entry in os.scandir(path):
    if not entry.name.startswith('a') and entry.is_file():
        print(entry.name)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打...
    依依玖玥閱讀 3,705評論 6 37
  • 原文鏈接 《Python數(shù)據(jù)分析》(Python for Data Analysis, 2nd Edition)第...
    李紹俊閱讀 8,762評論 0 5
  • 〇、前言 本文共108張圖,流量黨請慎重! 歷時1個半月,我把自己學(xué)習(xí)Python基礎(chǔ)知識的框架詳細(xì)梳理了一遍。 ...
    Raxxie閱讀 19,565評論 17 410
  • 三生逐夢一世情 窗外逐花思滿樓, 花顏月貌與花同。 不解東風(fēng)思無涯, ...
    空城錦閱讀 352評論 0 0
  • 親愛的生活,親愛的泓默,你好??! 我在圈里寫:親愛的生活,我又來了。好多朋友問我要去哪里旅游???我說:...
    48b7900828a7閱讀 365評論 3 3

友情鏈接更多精彩內(nèi)容