1. 分享25個(gè)實(shí)用的一行Python代碼,你都用過(guò)嗎?

        共 8448字,需瀏覽 17分鐘

         ·

        2023-11-10 17:00

        入門(mén)教程、案例源碼、學(xué)習(xí)資料、讀者群

        請(qǐng)?jiān)L問(wèn): python666.cn

        大家好,歡迎來(lái)到 Crossin的編程教室 !

        在學(xué)習(xí)Python的過(guò)程當(dāng)中,有很多復(fù)雜的任務(wù)其實(shí)只需要一行代碼就可以解決,那么今天就來(lái)給大家介紹25個(gè)實(shí)用的一行Python代碼,希望對(duì)大家能夠有所幫助。

        1.兩個(gè)字典的合并

        x = {'a': 1, 'b': 2}
        y = {'c': 3, 'd': 4}

        將兩個(gè)字典合并起來(lái),代碼如下

        x.update(y)
        print(x)

        output

        {'a': 1, 'b': 2, 'c': 3, 'd': 4}

        2.兩個(gè)列表的合并

        x = ['a''b']
        y = ['c''d''e']

        將上面兩個(gè)列表合并起來(lái),代碼如下

        x.extend(y)
        print(x)

        output

        ['a''b''c''d''e']
        當(dāng)然除此之外,我們還有其他的方法來(lái)將兩個(gè)列表合并起來(lái),例如
        x += y
        print(x)

        output

        ['a''b''c''d''e']

        3.計(jì)算列表中元素出現(xiàn)的頻率

        主要是通過(guò)調(diào)用python當(dāng)中的collections模塊來(lái)實(shí)現(xiàn),例如
        from collections import Counter
        my_list = ['a''b''b''a''a''a''c''c''b''d']
        print(Counter(my_list).most_common())

        output

        [('a', 4), ('b', 3), ('c', 2), ('d', 1)]
        若是我們想要出現(xiàn)頻率最多的一個(gè),也就是在上面代碼的基礎(chǔ)之上添加篩選第一個(gè)元素的操作即可
        print(Counter(my_list).most_common()[0])

        output

        ('a', 4)
        出現(xiàn)頻率最多的是元素a,總共出現(xiàn)了4次

        當(dāng)然要是在后面再添加一個(gè)[0],意思就是篩選出出現(xiàn)頻率最多的元素

        print(Counter(my_list).most_common()[0][0])

        output

        a

        4.計(jì)算獲得除法中的商和余數(shù)

        一般我們?nèi)粝肴〉贸ó?dāng)中的商和余數(shù),一般是Python運(yùn)算符號(hào)當(dāng)中的///,而divmod方法則可以讓我們同時(shí)獲得除法運(yùn)算當(dāng)中的商和余數(shù),代碼如下
        quotient, remainder = divmod(37, 5)
        print(quotient, remainder)

        output

        7 2

        5.計(jì)算得到列表當(dāng)中長(zhǎng)度最長(zhǎng)的字符串

        words = ['Python''is''awesome']
        print(max(words, key=len))

        output

        awesome

        6.將列表中的順序倒轉(zhuǎn)

        words = ['Python''is''awesome']
        reverse_words = words[::-1]
        print(reverse_words)

        output

        ['awesome''is''Python']

        7.文件的讀與寫(xiě)

        我們先將數(shù)據(jù)寫(xiě)入到文件當(dāng)中

        data = 'Python is awesome'
        with open('file.txt''a', newline='\n') as f: f.write(data)

        那我們從剛生成的文件當(dāng)中讀取剛寫(xiě)入的數(shù)據(jù),代碼就是這么來(lái)寫(xiě)

        data = [line.strip() for line in open("file.txt")]
        print(data)

        output

        ['Python is awesome']

        8.將字典當(dāng)中的鍵值對(duì)位置調(diào)換

        staff = {'Data Scientist''Mike''Django Developer''Dylan'}
        staff = {i:j for j, i in staff.items()}
        print(staff)

        output

        {'Mike''Data Scientist''Dylan''Django Developer'}

        9.將嵌套列表合并為一個(gè)列表

        假設(shè)我們有這樣的一個(gè)列表

        l = [[1, 2, 3], [4, 5], [6], [7, 8], [9]]

        而我們最終希望列表能夠是

        [1, 2, 3, 4, 5, 6, 7, 8, 9]

        我們可以這么來(lái)做

        flattened_list = [item for sublist in l for item in sublist
        print(flattened_list)

        output

        [1, 2, 3, 4, 5, 6, 7, 8, 9]

        10.列表當(dāng)中數(shù)據(jù)類(lèi)型的轉(zhuǎn)換

        例如有下面的列表

        ['1''2''3']

        我們要將其轉(zhuǎn)換成整數(shù)類(lèi)型,代碼如下

        print(list(map(int, ['1''2''3'])))

        output

        [1, 2, 3]
        當(dāng)然我們也可以將可以嘗試轉(zhuǎn)換成浮點(diǎn)數(shù)的類(lèi)型,代碼如下
        print(list(map(float, ['1', 2, '3.0', 4.0, '5', 6])))

        output

        [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]

        11.將列表轉(zhuǎn)化成字典

        cars = ['Audi''BMW''Ford''Tesla''Volvo']
        cars_dict = dict(enumerate(cars))
        print(cars_dict)

        output

        {0: 'Audi', 1: 'BMW', 2: 'Ford', 3: 'Tesla', 4: 'Volvo'}

        12.將列表當(dāng)中的重復(fù)元素去除

        list(set(['a''a''b''a''c']))

        output

        ['a''b''c']

        13.從列表中篩選出特定元素

        cars = ['Audi''BMW''Ford''Tesla''Volvo']
        car_1 = [car for car in cars if car[0] == "A"]
        print(car_1)

        output

        ['Audi']
        當(dāng)然我們還可以通過(guò)調(diào)用Python當(dāng)中的filter方法來(lái)實(shí)現(xiàn),代碼如下
        car_1 = list(filter(lambda c: c[0] == 'A', cars))

        得到的結(jié)果也和上述的一樣

        14.列表中的元素排序

        numbers = [55, -30, 28, -36, 48, 20]
        numbers.sort()
        print(numbers)

        output

        [-36, -30, 20, 28, 48, 55]
        當(dāng)然我們也可以從大到小,這樣的方式來(lái)排序,代碼如下
        numbers.sort(reverse=True)
        numbers

        output

        [55, 48, 28, 20, -30, -36]
        而對(duì)于字符串而言,我們可以根據(jù)首字母的字母表順序來(lái)排序
        cars = ['Ford''Tesla''BMW''Volvo''Audi']
        cars.sort()
        print(cars)

        output

        ['Audi''BMW''Ford''Tesla''Volvo']

        15.合并集合

        set1 = {"1""2""5"}
        set2 = {"4""6""7"}

        set1.update(set2)
        print(set1)

        output

        {'7''6''5''2''1''4'}

        16. 根據(jù)鍵來(lái)對(duì)字典進(jìn)行排序

        d = {'one': 1, 'three': 4, 'five': 8, 'six': 10}
        result = {key: d[key] for key in sorted(d.keys())}
        print(result)

        output

        {'five': 8, 'one': 1, 'six': 10, 'three': 4}

        17. 根據(jù)鍵值來(lái)對(duì)字典進(jìn)行排序

        d = {'one': 15, 'three': 12, 'five': 8, 'six': 30}
        result = {key: value for key, value in sorted(d.items(), key=lambda item: item[1])}
        print(result)

        output

        {'five': 8, 'three': 12, 'one': 15, 'six': 30}

        18. 替換字符串

        "Python is a programming language. Python is awesome".replace("Python",'Java')

        output

        Java is a programming language. Java is awesome

        19. 計(jì)算指定字符串出現(xiàn)的次數(shù)

        a = 'python is a programming language. python is python.'
        result = a.count('python')
        print(result)

        output

        3

        20. 將自定義方法作用在列表中的每個(gè)元素

        from functools import reduce

        reduce(lambda x, y: x*y, [2, 2, 3, 4])

        output

        48

        21. 找到最大的那個(gè)數(shù)

        find_max = lambda x,y: x if x > y else y
        result = find_max(5,20)

        output

        20

        22. 將矩陣轉(zhuǎn)置

        a = [[1, 2, 3],
             [4, 5, 6],
             [7, 8, 9]]

        transposed = [list(i) for i in zip(*a)]
        print(transposed)

        output

        [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

        23. 生成斐波納契數(shù)列

        斐波納契數(shù)列指的是列表當(dāng)中元素的值是由前兩個(gè)元素的值的總和而來(lái)的,例如像是1, 1, 2, 3, 5, 8,13,要生成它的代碼如下
        fibo = [0, 1]
        [fibo.append(fibo[-2]+fibo[-1]) for i in range(10)]
        print(fibo)

        output

        [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

        24. 刪除列表中的多個(gè)元素

        mylist = [100, 200, 300, 400, 500]
        del mylist[:3]
        print(mylist)

        output

        [400, 500]

        25. 多個(gè)if-else組合

        目標(biāo)是將下面多個(gè)if-else的組合,寫(xiě)在一行上面

        x = 200

        if x < 20:
            print("小于20")
        elif x == 200:
            print("等于200")
        else:
            print("大于20且不等于200")

        我們也可以將多個(gè)if-else組合放在一行上面寫(xiě)

        x = 200
        print("小于20"if x < 20 else print("等于200"if x == 200 else print("大于20且不等于200")

        作者:欣一

        來(lái)源:程序員阿欣



        Crossin的第2本書(shū)碼上行動(dòng):利用Python與ChatGPT高效搞定Excel數(shù)據(jù)分析已經(jīng)上市了。

        點(diǎn)此查看上一本《碼上行動(dòng):零基礎(chǔ)學(xué)會(huì)Python編程》介紹

        本書(shū)從 Python 和 Excel 結(jié)合使用的角度講解處理分析數(shù)據(jù)的思路、方法與實(shí)戰(zhàn)應(yīng)用。不論是希望從事數(shù)據(jù)分析崗位的學(xué)習(xí)者,還是其他職業(yè)的辦公人員,都可以通過(guò)本書(shū)的學(xué)習(xí)掌握 Python 分析數(shù)據(jù)的技能。書(shū)中創(chuàng)新性地將 ChatGPT 引入到教學(xué)當(dāng)中,用 ChatGPT 答疑并提供實(shí)訓(xùn)代碼,并介紹了使用 ChatGPT 輔助學(xué)習(xí)的一些實(shí)用技巧,給學(xué)習(xí)者帶來(lái)全新的學(xué)習(xí)方式。


        讀者朋友們購(gòu)買(mǎi)后可在后臺(tái)聯(lián)系我,加入讀者交流群,Crossin會(huì)為你開(kāi)啟陪讀模式,解答你在閱讀本書(shū)時(shí)的一切疑問(wèn)。


        感謝轉(zhuǎn)發(fā)點(diǎn)贊的各位~

        _往期文章推薦_

        一張圖搞定Matplotlib知識(shí)點(diǎn)
        9個(gè)Python編程好習(xí)慣,你平常有做到嗎?



        【教程】: python

        【答疑】: 666
        更多資源點(diǎn)擊閱讀原文
        瀏覽 762
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 中美日韩一级片 | 91丨豆花丨国产熟女 熟女 | 91女人18片女毛片60分钟 | 啊轻点灬太粗太长了黄蓉 | 三个老汉一起弄得我好爽 |