
前言
大家好,這里是浩道Linux,主要給大家分享Linux、Python、網(wǎng)絡(luò)通信、網(wǎng)絡(luò)安全等相關(guān)的IT知識(shí)平臺(tái)。
今天浩道跟大家分享python學(xué)習(xí)過(guò)程中非常經(jīng)典的50條一行代碼,讓大家體驗(yàn)它簡(jiǎn)潔而功能強(qiáng)大的特點(diǎn)。
【資料圖】
1.字母異位詞
兩個(gè)單詞如果包含相同的字母,次序不同,則稱(chēng)為字母易位詞(anagram)。
例如,“silent”和“l(fā)isten”是字母易位詞,而“apple”和“aplee”不是易位詞。
fromcollectionsimportCounters1="below"s2="elbow"print("anagram")ifCounter(s1)==Counter(s2)elseprint("notananagram")
上面代碼運(yùn)行結(jié)果:
anagram
2.二進(jìn)制轉(zhuǎn)十進(jìn)制
decimal=int("1010101010",2)print(decimal)
上面代碼運(yùn)行結(jié)果:
682
3.將字符串轉(zhuǎn)換為小寫(xiě)
print("Hi,mynameisIMOONrong".lower())print("Hi,mynameisIMOONrong".casefold())
上面代碼運(yùn)行結(jié)果:
hi,my name is imoonrong
hi,my name is imoonrong
4.將字符串轉(zhuǎn)換為大寫(xiě)
print("Hi,mynameisIMOONrong".upper())
上面代碼運(yùn)行結(jié)果:
HI,MY NAME IS IMOONRONG
5.將字符串轉(zhuǎn)換為字節(jié)
print("convertstringtobytesusingencodemethod".encode())
上面代碼運(yùn)行結(jié)果:
b"convert string to bytes using encode method"
6.拷貝文件
importshutilshutil.copyfile("myfile01.xlsx","myfile02.xlsx")
上面代碼運(yùn)行后,在相同目錄下復(fù)制得到myfile02.xlsx文件。
7.快速排序
qsort=lambdal:liflen(l)<=1elseqsort([xforxinl[1:]ifx=l[0]])print(qsort([117,19,181,907,26,9999,73,2023]))
上面代碼運(yùn)行結(jié)果:
[19, 26, 73, 117, 181, 907, 2023, 9999]
8.n個(gè)連續(xù)數(shù)求和
n=100print(sum(range(0,n+1)))
上面代碼運(yùn)行結(jié)果:
5050
9.交換兩個(gè)變量的值
a,b=b,a比如,輸入下面值查看結(jié)果:a=100b=200a,b=b,aprint(a,b)輸出:200100
10.斐波納契數(shù)列
斐波那契數(shù)列(Fibonacci sequence)是一個(gè)無(wú)限數(shù)列,它以0和1作為前兩項(xiàng),后面每一項(xiàng)都是前兩項(xiàng)的和。即:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, ...
斐波那契數(shù)列最早是由數(shù)學(xué)家斐波那契在13世紀(jì)提出的,它在數(shù)學(xué)、計(jì)算機(jī)科學(xué)、自然科學(xué)等領(lǐng)域都有廣泛的應(yīng)用。例如,斐波那契數(shù)列可以用于解決一些動(dòng)態(tài)規(guī)劃問(wèn)題、編寫(xiě)高效的算法和數(shù)據(jù)結(jié)構(gòu)、分析金融市場(chǎng)、研究植物的生長(zhǎng)規(guī)律等。
斐波那契數(shù)列的通項(xiàng)公式為:Fn = (1/sqrt(5)) * (((1+sqrt(5))/2)^n - ((1-sqrt(5))/2)^n),其中n表示斐波那契數(shù)列的第n項(xiàng),^表示冪運(yùn)算,sqrt表示開(kāi)方運(yùn)算。
fib=lambdax:xifx<=1elsefib(x-1)+fib(x-2)print(fib(11))
上面代碼運(yùn)行結(jié)果:
89
可以看出輸出結(jié)果為上面所列,除0的第11位,即89。
11.將嵌套列表合并為一個(gè)列表
main_list=[[0,9,2],[11,162,13],[52,593,162]]result=[itemforsublistinmain_listforiteminsublist]print(result)
上面代碼運(yùn)行結(jié)果:
[0, 9, 2, 11, 162, 13, 52, 593, 162]
12.運(yùn)行一個(gè)HTTP服務(wù)器
python-mhttp.server:8000

訪(fǎng)問(wèn)資源:

13.反轉(zhuǎn)列表
numbers=[9,111,7,15,11,17,52,59,177]print(numbers[::-1])
上面代碼運(yùn)行結(jié)果:
[177, 59, 52, 17, 11, 15, 7, 111, 9]
14.階乘
importmathjc_100=math.factorial(100)print(jc_100)
上面代碼運(yùn)行結(jié)果:
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
15.在列表推導(dǎo)式中使用for和if
even_list=[numberfornumberin[21,12,63,84]ifnumber%2==0]print(even_list)
上面代碼運(yùn)行結(jié)果:
[12, 84]
16.列表中最長(zhǎng)的字符串
mywords=["Take","control","of","your","own","desting"]#命運(yùn)掌握在自己手上result=max(mywords,key=len)print(result)
上面代碼運(yùn)行結(jié)果:
control
17.列表推導(dǎo)式
mylist=[numfornuminrange(0,20)]print(mylist)
上面代碼運(yùn)行結(jié)果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
18.集合推導(dǎo)式
num_set={numfornuminrange(0,20)}print(num_set)
上面代碼運(yùn)行結(jié)果:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
19.字典推導(dǎo)式
dict_numbers={x:x*xforxinrange(1,10)}print(dict_numbers)
上面代碼運(yùn)行結(jié)果:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
20.if-else
print("even")if16%2==0elseprint("odd")
上面代碼運(yùn)行結(jié)果:
even
21.無(wú)限循環(huán)
while1:0
執(zhí)行上面語(yǔ)句,一直處理運(yùn)行狀態(tài)。
22.檢查數(shù)據(jù)類(lèi)型
print(isinstance(2.0,int))print(isinstance("allwin",str))print(isinstance([2023,1997],list))
執(zhí)行上面3條語(yǔ)句后,輸出:
False
True
True
23.While循環(huán)
a=50whilea>0:a=a-1print(a)
上面代碼運(yùn)行結(jié)果:
0
24.使用print語(yǔ)句寫(xiě)入文件
print("Hello,World!",file=open("file.txt","w"))
執(zhí)行上面語(yǔ)句后,在當(dāng)前文件夾下生成file.txt文件,并且文件內(nèi)容為Hello, World!。
25.計(jì)算一個(gè)字符在字符串中出現(xiàn)的頻率
print("Congratulations".count("o"))
上面代碼運(yùn)行結(jié)果:
2
26.合并列表
list1=[2,5,8,90]list2=["teacher"]list1.extend(list2)print(list1)
上面代碼運(yùn)行結(jié)果:
[2, 5, 8, 90, "teacher"]
27.合并字典
dict1={"name":"qiyou","age":4}dict2={"city":"HebQhd"}dict1.update(dict2)print(dict1)
上面代碼運(yùn)行結(jié)果:
{"name": "qiyou", "age": 4, "city": "HebQhd"}
28.合并集合
set1={9,66,789}set2={89,90,911}set1.update(set2)print(set1)
上面代碼運(yùn)行結(jié)果:
{89, 66, 789, 9, 90, 911}
29.時(shí)間戳
importtimeprint(time.time())
上面代碼運(yùn)行結(jié)果:
1686906036.2873256
30.列表中出現(xiàn)次數(shù)最多的元素
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)
上面代碼運(yùn)行結(jié)果:
6
31.嵌套列表
numbers=[[num]fornuminrange(20)]print(numbers)
上面代碼運(yùn)行結(jié)果:
[[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19]]
32.八進(jìn)制轉(zhuǎn)十進(jìn)制
print(int("30",8))
上面代碼運(yùn)行結(jié)果:
24
33.將鍵值對(duì)轉(zhuǎn)換為字典
myresult=dict(name="qiyou",age=4)print(myresult)
上面代碼運(yùn)行結(jié)果:
{"name": "qiyou", "age": 4}
34.求商和余數(shù)
quotient,remainder=divmod(196,7)print(quotient,remainder)
上面代碼運(yùn)行結(jié)果:
28 0
35.刪除列表中的重復(fù)項(xiàng)
print(list(set([100,100,90,100,200])))
上面代碼運(yùn)行結(jié)果:
[200, 90, 100]
36.按升序排序列表
print(sorted([97,12,109,63]))
上面代碼運(yùn)行結(jié)果:
[12, 63, 97, 109]
37.按降序排序列表
print(sorted([97,12,109,63],reverse=True))
上面代碼運(yùn)行結(jié)果:
[109, 97, 63, 12]
38.獲取小寫(xiě)字母表
importstringprint(string.ascii_lowercase)
上面代碼運(yùn)行結(jié)果:
abcdefghijklmnopqrstuvwxyz
39.獲取大寫(xiě)字母表
importstringprint(string.ascii_uppercase)
上面代碼運(yùn)行結(jié)果:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
40.獲取0到9字符串
importstringprint(string.digits)
上面代碼運(yùn)行結(jié)果:
0123456789
41.十六進(jìn)制轉(zhuǎn)十進(jìn)制
print(int("ABCDE0",16))
上面代碼運(yùn)行結(jié)果:
11259360
42.日期時(shí)間
importtimeprint(time.ctime())
上面代碼運(yùn)行結(jié)果:
Fri Jun 16 1745 2023
43.將列表中的字符串轉(zhuǎn)換為整數(shù)
print(list(map(int,["9","5","6"])))
上面代碼運(yùn)行結(jié)果:
[9, 5, 6]
44.用鍵對(duì)字典進(jìn)行排序
d={"one":1,"five":5,"eight":8}result={key:d[key]forkeyinsorted(d.keys())}print(result)
上面代碼運(yùn)行結(jié)果:
{"eight": 8, "five": 5, "one": 1}
45.用鍵值對(duì)字典進(jìn)行排序
x={"two":2,3:4,4:3,2:1,0:0}result={k:vfork,vinsorted(x.items(),key=lambdaitem:item[1])}print(result)
上面代碼運(yùn)行結(jié)果:
{0: 0, 2: 1, "two": 2, 4: 3, 3: 4}
46.列表旋轉(zhuǎn)
li=[10,"d","f",6,5]#li[n:]+li[:n],右變左print(li[2:]+li[:2])#li[-n:]+li[:-n],左變右print(li[-1:]+li[:-1])
上面代碼運(yùn)行結(jié)果:
["f", 6, 5, 10, "d"]
[5, 10, "d", "f", 6]
47.將字符串中的數(shù)字移除
mymessage="".join(list(filter(lambdax:x.isalpha(),"def987bc123def443hj77")))print(mymessage)
上面代碼運(yùn)行結(jié)果:
defbcdefhj
48.矩陣變換
old_list=[[1,2,3],[3,4,6],[5,6,7]]result=list(list(x)forxinzip(*old_list))print(result)
上面代碼運(yùn)行結(jié)果:
[[1, 3, 5], [2, 4, 6], [3, 6, 7]]
49.列表過(guò)濾
result=list(filter(lambdax:x%2==0,[1,2,3,4,5,6]))print(result)
上面代碼運(yùn)行結(jié)果:
[2, 4, 6]
50.解包
a,*b,c=[1,2,3,4,5,6]print(a)print(b)print(c)
上面代碼運(yùn)行結(jié)果:
1
[2, 3, 4, 5]
6
審核編輯:湯梓紅標(biāo)簽: