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

2021-12-26 Python開發者

在學習Python的過程中,總會發現Python能夠輕易的解決許多問題。

一些複雜的任務,甚至可以使用一行Python代碼就能搞定。

下面給大家介紹50個有趣的Python一行代碼,都很實用。

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

▍1、字母異位詞

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

例如,「silent」和「listen」是字母易位詞,而「apple」和「aplee」不是易位詞。

from collections import Counter

s1 = 'below'
s2 = 'elbow'

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

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

▍2、二進位轉十進位

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

▍3、將字符串轉換為小寫

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、將字符串轉換為大寫

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

▍5、將字符串轉換為字節

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([17, 29, 11, 97, 103, 5]))
# [5, 11, 17, 29, 97, 103]

▍8、n個連續數的和

n = 10

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

▍9、交換兩個變量的值

▍10、斐波納契數列

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、運行一個HTTP伺服器

python3 -m http.server 8000
python2 -m SimpleHTTPServer

▍13、反轉列表

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、在列表推導式中使用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、列表推導式

li = [num for num in range(0, 10)]

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

▍18、集合推導式

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

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

▍19、字典推導式

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、無限循環

▍22、檢查數據類型

print(isinstance(2, int))
# True

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

print(isinstance([3, 4, 1997], list))
# True

▍23、While循環

a = 5

while a > 0:
    a = a - 1

print(a)
# 0

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

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

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

▍25、計算一個字符在字符串中出現的頻率

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、列表中出現次數最多的元素

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、八進位轉十進位

▍33、將鍵值對轉換為字典

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

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

▍34、求商和餘數

quotient, remainder = divmod(4, 5)

print(quotient, remainder)
# 0 4

divmod()函數返回當參數1除以參數2時,包含商和餘數的元組。

▍35、刪除列表中的重複項

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、十六進位轉十進位

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

▍42、日期時間

import time

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

▍43、將列表中的字符串轉換為整數

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

▍44、用鍵對字典進行排序

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、用鍵值對字典進行排序

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、列表旋轉

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、將字符串中的數字移除

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

- EOF -

覺得本文對你有幫助?請分享給更多人

推薦關注「Python開發者」,提升Python技能

點讚和在看就是最大的支持❤️

相關焦點

  • 50條有趣的Python一行代碼,建議收藏!
    一些複雜的任務,甚至可以使用一行Python代碼就能搞定。下面,小F給大家介紹50個有趣的Python一行代碼,都很實用。希望大家能從中找到對自己有幫助的技巧。▍1、字母異位詞兩個單詞如果包含相同的字母,次序不同,則稱為字母易位詞(anagram)。
  • 50 條有趣的Python一行代碼,建議收藏!
    一些複雜的任務,甚至可以使用一行Python代碼就能搞定。下面,小F給大家介紹50個有趣的Python一行代碼,都很實用。兩個單詞如果包含相同的字母,次序不同,則稱為字母易位詞(anagram)。例如,「silent」和「listen」是字母易位詞,而「apple」和「aplee」不是易位詞。
  • 20 條非常實用的 Python 代碼,建議收藏!
    Python一直以來被詬病速度慢,影響開發效率,希望這次Guido老爺子能幫python打一場漂亮的翻身仗。這篇文章不準備介紹Python速度如何,而是給大家帶來一些常用且實用的Python代碼實例,幾乎是開發者必備的知識點。1、合併兩個字典Python3.5之後,合併字典變得容易起來。我們可以通過**符號解壓字典,並將多個字典傳入{}中,實現合併。
  • 20條非常實用的Python代碼,建議收藏!
    Python一直以來被詬病速度慢,影響開發效率,希望這次Guido老爺子能幫python打一場漂亮的翻身仗。這篇文章不準備介紹Python速度如何,而是給大家帶來一些常用且實用的Python代碼實例,幾乎是開發者必備的知識點。1、合併兩個字典Python3.5之後,合併字典變得容易起來。我們可以通過**符號解壓字典,並將多個字典傳入{}中,實現合併。
  • 一行Python代碼能實現什麼喪心病狂的功能?
    (img)6data = np.stack(data, axis=0)我把這些代碼寫成一行,卻毫無晦澀艱深之感,仍然像詩歌一樣優美、像自然語言一樣通俗!那一刻,我腦洞大開,很想知道 python 高手們只用一行代碼都能幹些什麼?當然,限定條件是不能引用自定義的模塊,可以使用內置模塊或通用的第三方模塊。上網一搜,發現這個問題好像是 python 的專屬問題,其他語言很難用一行代碼做點什麼。知乎上有一篇名為《一行 Python 能實現什麼喪心病狂的功能?》
  • 一行代碼實現Python並行處理
    實例化 Pool 對象:pool = ThreadPool()這條簡單的語句替代了 example2.py 中 buildworkerpool 函數 7 行代碼的工作。>    'http://www.python.org/community/',    'https://wiki.python.org/moin/',    'http://planet.python.org/',    'https://wiki.python.org/moin/LocalUserGroups',    'http://www.python.org
  • 用一行python代碼輕鬆解決,沒想到它這麼強
    python無所不能,是python之父GuidovanRossum的一個朋友說的。而python有多無所不能呢?下面羽憶教程為你展示一行python代碼可以做到輸出九九乘法表,甚至更多喪心病狂的事情,用python一行代碼統統搞定。
  • 簡潔且實用Python一行代碼,40個案例講解
    有時候看似複雜的任務,甚至是可以使用一行Python代碼就可以搞定。下面Peter給大家介紹40個有趣且實用的Python的一行代碼,讓我們一起來感受Python的強大~1、列印hello python 每個人都是從print函數開始的print("hello python")
  • 加快程序運行速度只需一行 Python 代碼
    這條簡單的語句替代了 example2.py 中 buildworkerpool 函數 7 行代碼的工作。//www.onlamp.com/pub/a/python/2003/04/17/metaclasses.html ,     http://www.python.org/doc/ ,     http://www.python.org/download/ ,     http://www.python.org/getit/ ,     http://www.python.org
  • Python語言基礎50課(3)​|一行代碼統計序列ATCG含量
    繼續學習  Python-Core-50-Courses,配套視頻連結後臺回復 Python語言基礎視頻 可獲得原作者分享連結。幾篇推文進行回溯:Python語言基礎50課Python語言基礎50課(2)我的Python - 100天筆記 |D1-D7我的Python - 100天筆記 |D8-D14今天的推文內容主要涵蓋:集合& 列表生成式(統計ATCG含量);函數與模塊(內置函數),下面就進入正題:集合我們常說的Python
  • Python一行代碼,能玩這麼多童年的遊戲?
    來源 | 早起 Python責編 | Carol封圖 | CSDN 下載自視覺中國兒童節就要來了,雖然禿頭程式設計師沒有頭髮,但是童心還是一直都在的,今天就分享一個私藏的GitHub項目——free-python-games,一行代碼就能進入使用Python開發的小遊戲快樂玩耍!
  • 一行Python代碼能實現什麼奇葩功能?
    來,我們來鞏固下,我們用一行代碼列印出來。(左右滑動查看所有代碼)print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)]))
  • 代碼又長又複雜?總結Python一行代碼就能幹的事兒,不能更簡單了
    一行代碼列印9*9乘法表一行輸出9*9 乘法表只是把原本應該寫兩個for循環的代碼做了一下精簡壓縮。in range(1,x+1): print('%s*%s=%-2s\t' % (y,x,x*y), end='') print()一行命令啟動一個HTTP Serverpython -m http.server 8080該命令可以在控制臺運行,它會在把控制臺當前目錄下的文件和目錄映射出來作為可訪問資源
  • 運行你的第一句 Python 代碼
    ,你是否也想寫下並運行你的第一句代碼?要想運行你的代碼,必須有代碼解釋器,將代碼轉換為機器可懂的語言,否則,代碼寫的再好,也只是對牛彈琴。 那麼,對新手來說,最友好的python解釋器和編程環境是什麼呢? 當然是Anaconda !
  • 一行代碼能做什麼?看到最後一個我終於忍不住……
    技術能力的提升需要不斷的學習和實踐,面對一行行枯燥的代碼,做出有趣的事情,更能增加學習的興趣和樂趣。那一行python代碼能做出什麼有趣的東西?C/C++有什麼趣味設計?有哪些趣味的Scratch小遊戲?
  • 一行代碼搞定 Python 日誌!
    上例是列印一條 debug 級別的日誌,輸出結果如下:2021-03-16 22:17:23.640 | DEBUG    | __main__::8 - this is a debug message這條輸出日誌信息包含了日期、時間、日誌級別、日誌代碼行數以及日誌內容信息
  • Python的一行代碼有何魅力?lambda匿名函數都自嘆不如
    @數據分析師攻略 公眾號關注、學習更多數據分析的知識與資訊------Python代碼具有簡潔易懂的特點,說明它有許多有趣且簡潔的代碼編寫方法,這也讓很多零基礎入門學習編程的同學偏愛從其中,一行代碼編寫與lambda表達式是最具代表性的方法,下面分別來介紹一行代碼編寫和lambda表達式的代碼之美。一行代碼我們都知道,創建列表的方式有多種,比如直接定義、使用list()函數轉換、使用for循環迭代輸出等等。
  • 一行Python代碼能幹什麼?有意思!
    (https://www.zhihu.com/question/37046157)的帖子,點進去發現一行Python代碼可以做這麼多喪心病狂的功能!整理了一下知乎上這篇文章的內容,頗覺有趣,分享給大家。
  • Python人工智慧之圖片識別,Python3一行代碼實現圖片文字識別
    我們運行代碼後識別的結果,有幾個字沒有正確識別,但是大多數字都能識別出來。一行代碼就能識別圖片,我們背後要做些準備工作的下面就來講講這幾個庫的安裝,因為只有這幾個庫安裝好以後Python才能實現一行代碼實現圖片文字識別一,pytesseract和PIL的安裝安裝這兩個包可以藉助
  • 寫出漂亮 Python 代碼的 20條準則
    對於此前沒聽說過的人,請在 Python 解釋器中鍵入並執行import this,會出現由 Tim Peters 撰寫的 19 條指導原則:優美勝於醜陋;明了勝於晦澀;簡單勝於複雜;複雜勝於晦澀;扁平勝於嵌套;間隔勝於緊湊;可讀性很重要;特例不足以特殊到違背這些原則;