2021-10-18在學習Python的過程中,,總會發(fā)現(xiàn)Python能夠輕易的解決許多問題,。 一些復雜的任務(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 < 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個連續(xù)數(shù)的和 n = 10
print(sum(range(0, n+1))) # 55
▍9,、交換兩個變量的值 ▍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) ▍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)十進制 ▍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、刪除列表中的重復項 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
|