前言
大家好,這里是浩道Linux,主要給大家分享Linux、Python、網絡通信、網絡安全等相關的IT知識平臺。
今天浩道跟大家分享python學習過程中非常經典的50條一行代碼,讓大家體驗它簡潔而功能強大的特點。
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')
?
上面代碼運行結果:
anagram
2.二進制轉十進制
?
decimal?=?int('1010101010',?2) print(decimal)
?
上面代碼運行結果:
682
3.將字符串轉換為小寫
?
print("Hi,my?name?is?IMOONrong".lower()) print("Hi,my?name?is?IMOONrong".casefold())
?
上面代碼運行結果:
hi,my name is imoonrong
hi,my name is imoonrong
4.將字符串轉換為大寫
?
print("Hi,my?name?is?IMOONrong".upper())
?
上面代碼運行結果:
HI,MY NAME IS IMOONRONG
5.將字符串轉換為字節
?
print("convert?string?to?bytes?using?encode?method".encode())
?
上面代碼運行結果:
b'convert string to bytes using encode method'
6.拷貝文件
?
import?shutil shutil.copyfile('myfile01.xlsx',?'myfile02.xlsx')
?
上面代碼運行后,在相同目錄下復制得到myfile02.xlsx文件。
7.快速排序
?
qsort?=?lambda?l:?l?if?len(l)?<=?1?else?qsort([x?for?x?in?l[1:]?if?x?=?l[0]]) print(qsort([117,19,181,907,26,9999,73,2023]))
?
上面代碼運行結果:
[19, 26, 73, 117, 181, 907, 2023, 9999]
8.n個連續數求和
?
n?=?100 print(sum(range(0,?n+1)))
?
上面代碼運行結果:
5050
9.交換兩個變量的值
?
a,b=b,a 比如,輸入下面值查看結果: a=100 b=200 a,b=b,a print(a,b) 輸出:200?100
?
10.斐波納契數列
斐波那契數列(Fibonacci sequence)是一個無限數列,它以0和1作為前兩項,后面每一項都是前兩項的和。即:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, ...
斐波那契數列最早是由數學家斐波那契在13世紀提出的,它在數學、計算機科學、自然科學等領域都有廣泛的應用。例如,斐波那契數列可以用于解決一些動態規劃問題、編寫高效的算法和數據結構、分析金融市場、研究植物的生長規律等。
斐波那契數列的通項公式為:Fn = (1/sqrt(5)) * (((1+sqrt(5))/2)^n - ((1-sqrt(5))/2)^n),其中n表示斐波那契數列的第n項,^表示冪運算,sqrt表示開方運算。
?
fib?=?lambda?x:?x?if?x<=1?else?fib(x-1)?+?fib(x-2) print(fib(11))
?
上面代碼運行結果:
89
可以看出輸出結果為上面所列,除0的第11位,即89。
11.將嵌套列表合并為一個列表
?
main_list?=?[[0,?9,?2],?[11,?162,?13],?[52,?593,?162]] result?=?[item?for?sublist?in?main_list?for?item?in?sublist] print(result)
?
上面代碼運行結果:
[0, 9, 2, 11, 162, 13, 52, 593, 162]
12.運行一個HTTP服務器
?
python?-m?http.server:8000
?
![image-20230616160933306](50 條有趣的 Python 一行代碼.assets/image-20230616160933306.png)
訪問資源:
![image-20230616161026462](50 條有趣的 Python 一行代碼.assets/image-20230616161026462.png)
13.反轉列表
?
numbers?=?[9,?111,?7,?15,?11,?17,?52,?59,?177] print(numbers[::-1])
?
上面代碼運行結果:
[177, 59, 52, 17, 11, 15, 7, 111, 9]
14.階乘
?
import?math jc_100?=?math.factorial(100) print(jc_100)
?
上面代碼運行結果:
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
15.在列表推導式中使用for和if
?
even_list?=?[number?for?number?in?[21,?12,?63,?84]?if?number?%?2?==?0] print(even_list)
?
上面代碼運行結果:
[12, 84]
16.列表中最長的字符串
?
mywords?=?['Take',?'control',?'of',?'your',?'own',?'desting'] #命運掌握在自己手上 result?=?max(mywords,?key=len) print(result)
?
上面代碼運行結果:
control
17.列表推導式
?
mylist?=?[num?for?num?in?range(0,?20)] print(mylist)
?
上面代碼運行結果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
18.集合推導式
?
num_set?=?{num?for?num?in?range(0,?20)} print(num_set)
?
上面代碼運行結果:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
19.字典推導式
?
dict_numbers?=?{x:?x*x?for?x?in?range(1,?10)} print(dict_numbers)
?
上面代碼運行結果:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
20.if-else
?
print("even")?if?16?%?2==0?else?print("odd")
?
上面代碼運行結果:
even
21.無限循環
?
while?1:0
?
執行上面語句,一直處理運行狀態。
22.檢查數據類型
?
print(isinstance(2.0,?int)) print(isinstance("allwin",?str)) print(isinstance([2023,?1997],?list))
?
執行上面3條語句后,輸出:
False
True
True
23.While循環
?
a?=?50 while?a?>?0: ????a?=?a?-?1 print(a)
?
上面代碼運行結果:
0
24.使用print語句寫入文件
?
print("Hello,?World!",?file=open('file.txt',?'w'))
?
執行上面語句后,在當前文件夾下生成file.txt文件,并且文件內容為Hello, World!。
25.計算一個字符在字符串中出現的頻率
?
print("Congratulations".count('o'))
?
上面代碼運行結果:
2
26.合并列表
?
list1?=?[2,?5,?8,?90] list2?=?['teacher'] list1.extend(list2) print(list1)
?
上面代碼運行結果:
[2, 5, 8, 90, 'teacher']
27.合并字典
?
dict1?=?{'name':?'qiyou',?'age':?4} dict2?=?{'city':?'HebQhd'} dict1.update(dict2) print(dict1)
?
上面代碼運行結果:
{'name': 'qiyou', 'age': 4, 'city': 'HebQhd'}
28.合并集合
?
set1?=?{9,?66,?789} set2?=?{89,?90,?911} set1.update(set2) print(set1)
?
上面代碼運行結果:
{89, 66, 789, 9, 90, 911}
29.時間戳
?
import?time print(time.time())
?
上面代碼運行結果:
1686906036.2873256
30.列表中出現次數最多的元素
?
my_list?=?[90,?6,?12,?6,?6,?6,?77,?87,?6] most_frequent_element?=?max(set(my_list),?key=my_list.count) print(most_frequent_element)
?
上面代碼運行結果:
6
31.嵌套列表
?
numbers?=?[[num]?for?num?in?range(20)] print(numbers)
?
上面代碼運行結果:
[[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19]]
32.八進制轉十進制
?
print(int('30',?8))?
?
上面代碼運行結果:
24
33.將鍵值對轉換為字典
?
myresult?=?dict(name='qiyou',?age=4) print(myresult)
?
上面代碼運行結果:
{'name': 'qiyou', 'age': 4}
34.求商和余數
?
quotient,?remainder?=?divmod(196,?7) print(quotient,?remainder)
?
上面代碼運行結果:
28 0
35.刪除列表中的重復項
?
print(list(set([100,?100,?90,?100,?200])))
?
上面代碼運行結果:
[200, 90, 100]
36.按升序排序列表
?
print(sorted([97,?12,?109,?63]))
?
上面代碼運行結果:
[12, 63, 97, 109]
37.按降序排序列表
?
print(sorted([97,?12,?109,?63],reverse=True))
?
上面代碼運行結果:
[109, 97, 63, 12]
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('ABCDE0',?16))
?
上面代碼運行結果:
11259360
42.日期時間
?
import?time print(time.ctime())
?
上面代碼運行結果:
Fri Jun 16 1745 2023
43.將列表中的字符串轉換為整數
?
print(list(map(int,?['9',?'5',?'6'])))
?
上面代碼運行結果:
[9, 5, 6]
44.用鍵對字典進行排序
?
d?=?{'one':?1,?'five':?5,?'eight':?8} result?=?{key:?d[key]?for?key?in?sorted(d.keys())} print(result)
?
上面代碼運行結果:
{'eight': 8, 'five': 5, 'one': 1}
45.用鍵值對字典進行排序
?
x?=?{'two':?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, 'two': 2, 4: 3, 3: 4}
46.列表旋轉
?
li?=?[10,?'d',?'f',?6,?5] #?li[n:]?+?li[:n],?右變左 print(li[2:]?+?li[:2]) #?li[-n:]?+?li[:-n],?左變右 print(li[-1:]?+?li[:-1])
?
上面代碼運行結果:
['f', 6, 5, 10, 'd']
[5, 10, 'd', 'f', 6]
47.將字符串中的數字移除
?
mymessage?=?''.join(list(filter(lambda?x:?x.isalpha(),?'def987bc123def443hj77'))) print(mymessage)
?
上面代碼運行結果:
defbcdefhj
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,?6] print(a)? print(b)? print(c)
?
上面代碼運行結果:
1
[2, 3, 4, 5]
6
?
評論
查看更多