50條有趣的Python一行代碼,建議收藏!
在學習Python的過程中,總會發(fā)現(xiàn)Python能夠輕易的解決許多問題。
一些復(fù)雜的任務(wù),甚至可以使用一行Python代碼就能搞定。
下面,小F給大家介紹50個有趣的Python一行代碼,都很實用。
希望大家能從中找到對自己有幫助的技巧。
▍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、二進制轉(zhuǎ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、運行一個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、在列表推導式中使用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、無限循環(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、計算一個字符在字符串中出現(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、八進制轉(zhuǎ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ù)返回當參數(shù)1除以參數(shù)2時,包含商和余數(shù)的元組。
▍35、刪除列表中的重復(fù)項
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、十六進制轉(zhuǎ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、用鍵對字典進行排序
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、列表旋轉(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
推薦閱讀:
入門:?最全的零基礎(chǔ)學Python的問題? |?零基礎(chǔ)學了8個月的Python??|?實戰(zhàn)項目?|學Python就是這條捷徑
量化:?定投基金到底能賺多少錢?? |?我用Python對去年800只基金的數(shù)據(jù)分析??
干貨:爬取豆瓣短評,電影《后來的我們》?|?38年NBA最佳球員分析?|? ?從萬眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個海量小姐姐素描圖?|碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影
趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!
AI:?會做詩的機器人?|?給圖片上色?|?預(yù)測收入?|?碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影
小工具:?Pdf轉(zhuǎn)Word,輕松搞定表格和水印!?|?一鍵把html網(wǎng)頁保存為pdf!|??再見PDF提取收費!?|?用90行代碼打造最強PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換?|?制作一款釘釘?shù)蛢r機票提示器!?|60行代碼做了一個語音壁紙切換器天天看小姐姐!|
年度爆款文案
6).30個Python奇淫技巧集?
點閱讀原文,領(lǐng)AI全套資料!


