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

        共 4248字,需瀏覽 9分鐘

         ·

        2021-10-03 16:17


        在學(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?0]])?+?[l[0]]?+?qsort([x?for?x?in?l[1:]?if?x?>=?l[0]])

        print(qsort([17,?29,?11,?97,?103,?5]))
        #?[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?=?[[0,?1,?2],?[11,?12,?13],?[52,?53,?54]]

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

        >
        [0,?1,?2,?11,?12,?13,?52,?53,?54]



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


        python3?-m?http.server?8000
        python2?-m?SimpleHTTPServer



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


        numbers?=?[0,?1,?2,?11,?12,?13,?52,?53,?54]

        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?[1,?2,?3,?4]?if?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(0,?10)]

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



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


        num_set?=?{num?for?num?in?range(0,?10)}

        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(1,?5)}

        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([3,?4,?1997],?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?=?[1,?2,?4]
        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?=?{0,?1,?2}
        set2?=?{11,?12,?13}
        set1.update(set2)

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



        ▍29、時間戳


        import?time

        print(time.time())



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


        test_list?=?[9,?4,?5,?4,?4,?5,?9,?5,?4]
        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(4,?5)

        print(quotient,?remainder)
        #?0?4


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



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


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



        ▍36、按升序排序列表


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



        ▍37、按降序排序列表


        print(sorted([5,?2,?9,?1],?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?=?{1:?2,?3:?4,?4:?3,?2:?1,?0:?0}
        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?=?[1,?2,?3,?4,?5]

        #?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?=?[[1,?2,?3],?[3,?4,?6],?[5,?6,?7]]
        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,?[1,?2,?3,?4,?5,?6]))

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



        ▍50、解包


        a,?*b,?c?=?[1,?2,?3,?4,?5]

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



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






        推薦閱讀:

        入門:?最全的零基礎(chǔ)學(xué)Python的問題? |?零基礎(chǔ)學(xué)了8個月的Python??|?實(shí)戰(zhàn)項(xiàng)目?|學(xué)Python就是這條捷徑


        量化:?定投基金到底能賺多少錢?? |?我用Python對去年800只基金的數(shù)據(jù)分析??


        干貨:爬取豆瓣短評,電影《后來的我們》?|?38年NBA最佳球員分析?|? ?從萬眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個海量小姐姐素描圖?|碟中諜這么火,我用機(jī)器學(xué)習(xí)做個迷你推薦系統(tǒng)電影


        趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!


        AI:?會做詩的機(jī)器人?|?給圖片上色?|?預(yù)測收入?|?碟中諜這么火,我用機(jī)器學(xué)習(xí)做個迷你推薦系統(tǒng)電影


        小工具:?Pdf轉(zhuǎn)Word,輕松搞定表格和水??!?|?一鍵把html網(wǎng)頁保存為pdf!|??再見PDF提取收費(fèi)!?|?用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換?|?制作一款釘釘?shù)蛢r機(jī)票提示器!?|60行代碼做了一個語音壁紙切換器天天看小姐姐!


        年度爆款文案


        點(diǎn)閱讀原文,領(lǐng)AI全套資料!

        瀏覽 15
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 国产一级a爱做片免费观看人与生 | 天天干天天操天天摸 | 操逼日韩 | 操嫩B国内大全 | 色久视频 |