<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          10 個(gè) 驚艷的 Pythonic 單行代碼

          共 2668字,需瀏覽 6分鐘

           ·

          2023-01-03 22:24

          每天學(xué)Python新技能

          后臺(tái)回復(fù)【大禮包】送你Python自學(xué)大禮包


          自從我用 Python 編寫第一行代碼以來,我就被它的簡單性、出色的可讀性和流行的單行代碼所吸引。在下文中,我想介紹和解釋其中的一些單行代碼——也許有一些你還不知道并且對你的下一個(gè) Python 項(xiàng)目很有用。

          1.交換兩個(gè)變量

          # a = 1; b = 2
          a, b = b, a
          # print(a,b) >> 2 1

          我們從經(jīng)典開始:通過簡單地交換賦值位置來交換變量的值——我認(rèn)為這是最直觀的方式。無需使用臨時(shí)變量。它甚至適用于兩個(gè)以上的變量。

          2.多變量賦值

          a, b, *c = [1,2,3,4,5]
          # print(a,b,c) >> 1 2 [3, 4, 5]

          交換變量實(shí)際上是 Python 一次分配多個(gè)變量的能力的一個(gè)特例。在這里你可以使用它來將列表元素分配給給定的變量,這也稱為拆包。將*再次打包剩余的值,這會(huì)產(chǎn)生一個(gè)子列表c。它甚至適用于每個(gè)其他位置*(例如列表的開頭或中間部分)。

          3. 對列表的每個(gè)第二個(gè)元素求和

          # a = [1,2,3,4,5,6]
          s = sum(a[1::2])
          # print(s) >> 12

          這里不需要特殊的 reduce 函數(shù),sum只需添加每個(gè)給定 iterable 的項(xiàng)目。此處使用擴(kuò)展切片語法 [::]來返回每隔一個(gè)元素。你可以將其讀作 [start : stop : step],因此[1::2]轉(zhuǎn)換為從索引 1 的元素(第二個(gè)元素)開始,直到列表結(jié)束才停止(沒有為第二個(gè)參數(shù)提供參數(shù))并且始終采取 2 steps。

          4.刪除多個(gè)元素

          # a = [1,2,3,4,5]
          del a[::2]
          # print(a) >> [2, 4]

          擴(kuò)展的切片語法也可用于一次刪除多個(gè)列表元素。

          5. 將文件讀入行數(shù)組

          c = [line.strip() for line in open('file.txt')]
          # print(c) >> ['test1', 'test2', 'test3', 'test4']

          使用 Python 的內(nèi)聯(lián) for 循環(huán),你可以輕松地將文件讀入行數(shù)組。strip()需要?jiǎng)h除尾隨換行符。如果你想保留它們或者它們對你來說無關(guān)緊要,你可以使用更短的單線:

          c = list(open('file.txt'))
          # print(c) >> ['test1\n', 'test2\n', 'test3\n', 'test4\n']

          用 Python 讀取文件真的就是這么簡單。旁注:你也可以根據(jù)需要使用該readlines()方法。

          6. 將字符串寫入文件

          with open('file.txt''a'as f: f.write('hello world')
          # print(list(open('file.txt'))) >> ['test1\n', 'test2\n', 'test3\n', 'test4\n', 'hello world']

          借助with語句,你可以直接將內(nèi)容寫入文件。確保使用正確的模式打開文件(此處'a'為附加內(nèi)容)。

          7. 列表創(chuàng)建

          l = [('Hi ' + x) for x in ['Alice''Bob''Pete']]
          # print(l) >> ['Hi Alice', 'Hi Bob', 'Hi Pete']

          可以使用內(nèi)聯(lián) for 循環(huán)從其他列表動(dòng)態(tài)創(chuàng)建列表。你可以直接修改值,如本例中的字符串連接。

          8.列表映射

          l = list(map(int, ['1''2''3']))
          # print(l) >> [1, 2, 3]

          你還可以使用 Pythonmap()函數(shù)將每個(gè)列表元素轉(zhuǎn)換為另一種類型。

          9. 創(chuàng)建集合

          squares = { x**2 for x in range(6if x < 4 }
          # print(squares) >> {0, 1, 4, 9}

          它與sets相似,除了內(nèi)聯(lián) for 循環(huán),你甚至可以直接附加條件!

          10.回文檢查

          # phrase = 'deleveled'
          isPalindrome = phrase == phrase[::-1]
          # print(isPalindrome) >> true

          回文是一系列正向和反向讀取相同的字符。通常你需要一些循環(huán)和條件來檢查給定的字符串是否是回文。在 Python 中,你只需將字符串與其反向字符串進(jìn)行比較。除了使用切片運(yùn)算符[::-1],你還可以使用reverse()函數(shù)來反轉(zhuǎn)字符串。

          1. 一鍵從Prompt到PowerPoint,斯坦福博士生自制的PPT生成神器火了

          2. 只需幾分鐘!用python爬取付費(fèi)歌曲!

          3. Python的打包神器—Nuitka!


          瀏覽 35
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月婷婷五月丁香 | 国产精品大香蕉 | A片黄色,播放 | 天天爽夜夜爽夜夜爽精 | 亲子乱伦一区二区三区 |