1. 50條有趣的Python一行代碼,建議收藏!

        共 8070字,需瀏覽 17分鐘

         ·

        2021-09-25 21:35


        親愛的讀者朋友,大家好,我是老表,昨天中秋給大家發(fā)了一個拼手氣紅包,如果你還沒有參與領(lǐng)取,可以點(diǎn)擊鏈接參與:牛X,原來還能這樣卷...


        今天給大家分享一些簡單、有意思的功能代碼。


        在學(xué)習(xí)Python的過程中,總會發(fā)現(xiàn)Python能夠輕易的解決許多問題。


        一些復(fù)雜的任務(wù),甚至可以使用一行Python代碼就能搞定。


        下面,小F給大家介紹50個有趣的Python一行代碼,都很實(shí)用。


        希望大家能從中找到對自己有幫助的技巧。



        ▍1、字母異位詞


        兩個單詞如果包含相同的字母,次序不同,則稱為字母易位詞(anagram)。


        例如,“silent”和“l(fā)isten”是字母易位詞,而“apple”和“aplee”不是易位詞。


        from collections import Counter

        s1 = 'below'
        s2 = 'elbow'

        print('anagram'if Counter(s1) == Counter(s2) else print('not an anagram')


        使用一行Python代碼,就能判斷出來了。



        ▍2、二進(jìn)制轉(zhuǎn)十進(jìn)制


        decimal = int('1010'2)
        print(decimal) #10



        ▍3、將字符串轉(zhuǎn)換為小寫


        print("Hi my name is XiaoF".lower())
        # 'hi my name is xiaof'

        print("Hi my name is XiaoF".casefold())
        # 'hi my name is xiaof'


        ▍4、將字符串轉(zhuǎn)換為大寫


        print("hi my name is XiaoF".upper())
        # 'HI MY NAME IS XIAOF'



        ▍5、將字符串轉(zhuǎn)換為字節(jié)


        print("convert string to bytes using encode method".encode())
        # b'convert string to bytes using encode method'



        ▍6、拷貝文件


        import shutil

        shutil.copyfile('source.txt''dest.txt')



        ▍7、快速排序


        qsort = lambda l: l if len(l) <= 1 else qsort([x for x in l[1:] if x < l[0]]) + [l[0]] + qsort([x for x in l[1:] if x >= l[0]])

        print(qsort([172911971035]))
        # [5, 11, 17, 29, 97, 103]



        ▍8、n個連續(xù)數(shù)的和


        n = 10

        print(sum(range(0, n+1)))
        # 55



        ▍9、交換兩個變量的值


        a,b = b,a



        ▍10、斐波納契數(shù)列


        fib = lambda x: x if x<=1 else fib(x-1) + fib(x-2)

        print(fib(20))
        # 6765



        ▍11、將嵌套列表合并為一個列表


        main_list = [[012], [111213], [525354]]

        result = [item for sublist in main_list for item in sublist]
        print(result)

        >
        [012111213525354]



        ▍12、運(yùn)行一個HTTP服務(wù)器


        python3 -m http.server 8000
        python2 -m SimpleHTTPServer



        ▍13、反轉(zhuǎn)列表


        numbers = [012111213525354]

        print(numbers[::-1])
        # [54, 53, 52, 13, 12, 11, 2, 1, 0]



        ▍14、階乘


        import math

        fact_5 = math.factorial(5)
        print(fact_5)
        # 120



        ▍15、在列表推導(dǎo)式中使用for和if


        even_list = [number for number in [1234if number % 2 == 0]

        print(even_list)
        # [2, 4]



        ▍16、列表中最長的字符串


        words = ['This''is''a''list''of''words']

        result = max(words, key=len)
        print(result)
        # 'words'



        ▍17、列表推導(dǎo)式


        li = [num for num in range(010)]

        print(li)
        # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]



        ▍18、集合推導(dǎo)式


        num_set = {num for num in range(010)}

        print(num_set)
        # {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}



        ▍19、字典推導(dǎo)式


        dict_numbers = {x: x*x for x in range(15)}

        print(dict_numbers)
        # {1: 1, 2: 4, 3: 9, 4: 16}



        ▍20、if-else


        print("even"if 4 % 2==0 else print("odd")



        ▍21、無限循環(huán)


        while 1:0



        ▍22、檢查數(shù)據(jù)類型


        print(isinstance(2, int))
        # True

        print(isinstance("allwin", str))
        # True

        print(isinstance([341997], list))
        # True



        ▍23、While循環(huán)


        a = 5

        while a > 0:
            a = a - 1

        print(a)
        # 0



        ▍24、使用print語句寫入文件


        print("Hello, World!", file=open('file.txt''w'))


        既可打印出信息,還能將信息保存文件。



        ▍25、計(jì)算一個字符在字符串中出現(xiàn)的頻率


        print("umbrella".count('l'))
        # 2



        ▍26、合并列表


        list1 = [124]
        list2 = ['XiaoF']
        list1.extend(list2)

        print(list1)
        # [1, 2, 4, 'XiaoF']



        ▍27、合并字典


        dict1 = {'name''weiwei''age'23}
        dict2 = {'city''Beijing'}
        dict1.update(dict2)

        print(dict1)
        # {'name': 'weiwei', 'age': 23, 'city': 'Beijing'}



        ▍28、合并集合


        set1 = {012}
        set2 = {111213}
        set1.update(set2)

        print(set1)
        # {0, 1, 2, 11, 12, 13}



        ▍29、時間戳


        import time

        print(time.time())



        ▍30、列表中出現(xiàn)次數(shù)最多的元素


        test_list = [945445954]
        most_frequent_element = max(set(test_list), key=test_list.count)

        print(most_frequent_element)
        # 4



        ▍31、嵌套列表


        numbers = [[num] for num in range(10)]

        print(numbers)
        # [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]



        ▍32、八進(jìn)制轉(zhuǎn)十進(jìn)制


        print(int('30'8)) 
        # 24



        ▍33、將鍵值對轉(zhuǎn)換為字典


        result = dict(name='XiaoF', age=23)

        print(result)
        # {'name': 'XiaoF', 'age': 23}



        ▍34、求商和余數(shù)


        quotient, remainder = divmod(45)

        print(quotient, remainder)
        # 0 4


        divmod()函數(shù)返回當(dāng)參數(shù)1除以參數(shù)2時,包含商和余數(shù)的元組。



        ▍35、刪除列表中的重復(fù)項(xiàng)


        print(list(set([44556])))
        # [4, 5, 6]



        ▍36、按升序排序列表


        print(sorted([5291]))
        # [1, 2, 5, 9]



        ▍37、按降序排序列表


        print(sorted([5291], reverse=True))
        # [9, 5, 2, 1]



        ▍38、獲取小寫字母表


        import string

        print(string.ascii_lowercase)
        # abcdefghijklmnopqrstuvwxyz



        ▍39、獲取大寫字母表

        import string

        print(string.ascii_uppercase)
        # ABCDEFGHIJKLMNOPQRSTUVWXYZ



        ▍40、獲取0到9字符串


        import string

        print(string.digits)
        # 0123456789



        ▍41、十六進(jìn)制轉(zhuǎn)十進(jìn)制


        print(int('da9'16))
        # 3497



        ▍42、日期時間


        import time

        print(time.ctime())
        # Thu Aug 13 20:00:00 2021



        ▍43、將列表中的字符串轉(zhuǎn)換為整數(shù)


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



        ▍44、用鍵對字典進(jìn)行排序


        d = {'one'1'four'4'eight'8}
        result = {key: d[key] for key in sorted(d.keys())}

        print(result)
        # {'eight': 8, 'four': 4, 'one': 1}



        ▍45、鍵值對字典進(jìn)行排序


        x = {1234432100}
        result = {k: v for k, v in sorted(x.items(), key=lambda item: item[1])}

        print(result)
        # {0: 0, 2: 1, 1: 2, 4: 3, 3: 4}



        ▍46、列表旋轉(zhuǎn)


        li = [12345]

        # li[n:] + li[:n], 右變左
        print(li[2:] + li[:2])
        # [3, 4, 5, 1, 2]

        # li[-n:] + li[:-n], 左變右
        print(li[-1:] + li[:-1])
        # [5, 1, 2, 3, 4]



        ▍47、將字符串中的數(shù)字移除


        message = ''.join(list(filter(lambda x: x.isalpha(), 'abc123def4fg56vcg2')))

        print(message)
        # abcdeffgvcg



        ▍48、矩陣變換


        old_list = [[123], [346], [567]]
        result = list(list(x) for x in zip(*old_list))

        print(result)
        # [[1, 3, 5], [2, 4, 6], [3, 6, 7]]



        ▍49、列表過濾


        result = list(filter(lambda x: x % 2 == 0, [123456]))

        print(result)
        # [2, 4, 6]



        ▍50、解包


        a, *b, c = [12345]

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



        萬水千山總是情,點(diǎn)個 ?? 行不行。


        老表搞了個副業(yè),公眾號:外賣電影娛樂通,每條可以領(lǐng)取外賣紅包,還有很多其他福利,點(diǎn)擊下方二維碼即可領(lǐng)取~一個月節(jié)省140左右不是夢~


        --End--


        文章點(diǎn)贊超過100+

        我將在個人視頻號直播(老表Max)

        帶大家一起進(jìn)行項(xiàng)目實(shí)戰(zhàn)復(fù)現(xiàn)



        掃碼即可加我微信

        老表朋友圈經(jīng)常有贈書/紅包福利活動

        點(diǎn)擊上方卡片關(guān)注公眾號,回復(fù):1024
        領(lǐng)取最新Python學(xué)習(xí)資源

        學(xué)習(xí)更多:
        整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說不知道該從哪開始,實(shí)戰(zhàn)哪里找了
        點(diǎn)贊”就是對博主最大的支持 
        瀏覽 158
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 国产一级a毛一级a看免费 | 日韩三级视频在线观看 | 国产精品日韩一区二区三区 | 欧美精品人妻一区二区免费视频 | 中文字幕无码av波多野吉衣 |