日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python全栈工程师百科_Python全栈工程师(列表、拷贝)

發(fā)布時(shí)間:2025/3/13 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python全栈工程师百科_Python全栈工程师(列表、拷贝) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ParisGabriel

感謝 大家的支持? 你們的閱讀評(píng)價(jià)就是我最好的更新動(dòng)力? 我會(huì)堅(jiān)持吧排版做的越來(lái)越好

每天堅(jiān)持 一天一篇 點(diǎn)個(gè)訂閱吧??灰常感謝? ? 當(dāng)個(gè)死粉也闊以

Python人工智能從入門(mén)到精通

列表創(chuàng)建函數(shù):

list(可迭代對(duì)象)

序列有5種:

star 字符串

list 列表

tuple 元組

bytes? ?后面講

bytearray? 后面講

序列運(yùn)算符:

in 、 not in

>

>=

<

<=

+

*

列表的索引可以增加、刪除、修改、列表的元素值

切片賦值:

步長(zhǎng)不等于1時(shí)切片賦值,賦值運(yùn)算符的右側(cè)的可迭代對(duì)象提供的元素

的個(gè)數(shù)一定要等于切片切出的片數(shù)

del語(yǔ)句:

用于刪除列表的元素

del 列表 [索引]

del 列表 [切片]

Python3中常用的序列相關(guān)函數(shù):

len(x) 返回序列的長(zhǎng)度

max (x) 返回最大元素

min(x)返回序列最小元素

sum(x) 返回序列中所有原素的和

any(x)真值測(cè)試,如果列表中有一個(gè)值為真返回true

all(x) 真值測(cè)試,如果列表中所有值為真返回true

列表的方法(method):

help(list)

[ ]內(nèi)的參數(shù)代表可以省略

方法                       意義

L.index(v [, begin[, end]])    ??  返回對(duì)應(yīng)元素的索引下標(biāo), begin:為開(kāi)始索引,end:為結(jié)束索引,當(dāng) value 不存在時(shí)觸發(fā)ValueError錯(cuò)誤

L.insert(index, obj)         將某個(gè)元素插放到列表中指定的位置 index:索引 obj:要插入的元素

L.count(x)             返回列表中元素的個(gè)數(shù)x:元素

L.remove(x)            從列表中刪除第一次出現(xiàn)在列表中的值 x:元素(例如列表內(nèi)有2個(gè)3 刪除第一個(gè) 依次進(jìn)行)

L.copy()             ? ?復(fù)制此列表(只復(fù)制一層,不會(huì)復(fù)制深層對(duì)象)

L.append(x)           ??? 向列表中追加單個(gè)元素 可以追加可迭代對(duì)象元素

L.extend(list)          ? ? 向列表追加另一個(gè)列表

L.clear()             ? ?清空列表,等同于 L[:] = []

L.sort(reverse=False)   ??    將列表中的元素進(jìn)行排序,默認(rèn)順序按值的小到大的順序排列

L.reverse()           ??? 列表的反轉(zhuǎn),用來(lái)改變?cè)斜淼南群箜樞?/p>

L.pop([index])           刪除索引對(duì)應(yīng)的元素,如果不加索引,默認(rèn)刪除最后元素,同時(shí)返回刪除元素的引用關(guān)系(相當(dāng)于取出元素不歸還,可以用變量來(lái)接受)

字符串的文本解析方法:

S.split(sep=None)   ? 將字符串使用sep作為分隔符分割字符串,返回分隔后的字符串列表,當(dāng)不給定參數(shù)時(shí),用空白字符作為分隔符分隔

S.join(iterable)      用可迭代對(duì)象中的字符串,返回一個(gè)中間用S分隔組合的字符串 S=esp 要插入分割鏈接的字符 iterable:可迭代對(duì)象

潛拷貝和深拷貝:

潛拷貝shallow copy:

help(list.copy)

拷貝指在復(fù)制過(guò)程中,只復(fù)制一層變量,不會(huì)復(fù)制深成變量綁定的對(duì)象的復(fù)制過(guò)程

例如:

>>> L = [3.1,3.2]>>> L1 = [1, 2, L]>>> L2 =L1.copy()>>>L1

[1, 2, [3.1, 3.2]]>>>L2

[1, 2, [3.1, 3.2]]>>> L2[2][0] = 3.14

>>>L1

[1, 2, [3.14, 3.2]]>>>L2

[1, 2, [3.14, 3.2]]

深拷貝 deep copy:

import copy # 導(dǎo)入copy 模塊

例如:

L = [3.1, 3.2]

L1 = [1, 2, L]

L2 = L1.deep copy()

L2[2][0] = 3.14

print(L1) #[1, 2, [3.1, 3.2]]

print(L2) #1, 2, [3.14, 3.2]]

深拷貝通常只對(duì)可變對(duì)象進(jìn)行復(fù)制 ,不可變對(duì)象通常不會(huì)復(fù)制(這里深拷貝需要 import copy中的deepcopy? 后面講)

小結(jié):

L1 = [1, 2, [3.1, 3.2]]

這里只是純粹的調(diào)用關(guān)系? 可以通過(guò)內(nèi)存地址查看

L2 = L1          # 不拷貝 同時(shí)綁定一個(gè)對(duì)象

L3 = L1.copy()    # 潛拷貝等同于 L3 = L1[:]

import copy

L4 = copy.deepcopy(L1) #深拷貝

列表推導(dǎo)式 list comprehension:

列表推導(dǎo)式是用可迭代對(duì)象生成列表的表達(dá)式

語(yǔ)法:

[表達(dá)式 for 變量 in 可迭代對(duì)象]

[表達(dá)式 for 變量 in 可迭代對(duì)象 if 真值表達(dá)式]

說(shuō)明:

for in 表達(dá)式的 if 子句可以省略,省略后將對(duì)所有生成的對(duì)象進(jìn)行求值處理

如:生成1~9的平方的列表

L= [x ** 2 for x in range(1,10)]

列表推到式的嵌套:

語(yǔ)法:

L=[表達(dá)式

for 變量1 in 可迭代對(duì)象1 if 真值表達(dá)式1

for 變量2 in 可迭代對(duì)象2 if 真值表達(dá)式2 ]

OK 今天的練習(xí)比較多 但是都很簡(jiǎn)單? 爭(zhēng)取把每個(gè)題都要理解他的原理 不懂得對(duì)照上面的參數(shù)進(jìn)行核對(duì)一下就可以

想要入門(mén)IT就必須多寫(xiě)多練 寫(xiě)的代碼也多 你就越熟練? 越熟練經(jīng)驗(yàn)越多? 嘗試不同的思路去分析

什么時(shí)候?qū)懙南胪?什么時(shí)候才算會(huì)了? 我們一起加油

練習(xí):

1.

已知有列表:

L = [3, 5]

1) 用索引和切片等操作,將原列表改變?yōu)?

L = [1, 2, 3, 4, 5, 6]

2) 將列表反轉(zhuǎn),刪除最后一個(gè)元素后打印此列表

...

print(L) # [6, 5, 4, 3, 2]

答案:

L = [3, 5]

L[:]= range(1, 7)

L[::-1] = range(1, 7)#L[:] = [range(6, 0, -1)]

del L[-1]print(L)

2.

1. 寫(xiě)程序,讓用戶輸入一些整數(shù),當(dāng)輸入-1時(shí)結(jié)束輸入,將這些數(shù)存于列表L中

1) 打印用戶共輸入了幾個(gè)數(shù)?

2) 打印您輸入的數(shù)的最大數(shù)是多少

3) 打印您輸入的數(shù)的最小數(shù)是多少

4) 打印您輸入的這些數(shù)的平均值是多少?

答案:

L =[]whileTrue:

a= int(input("please input at will integer (input '-1' over):"))if a <0:breakL.append(a)

L.sort()print("you input line number", len(L))print("top1:", L[-1])print("lower1:", L[0])print("average number :", sum(L) / len(L))

3.

1.已知有一個(gè)字符串

s = “100, 200, 300, 500, 800”

將其轉(zhuǎn)換為整數(shù)的列表存于L列表中

答案:

s = "100,200,300,500,800"L= s.split(",")print(L)

2.生成前40個(gè)婓波那契數(shù)(fibonacci)

1 1 2 3 5 8 13 .....

要求將這些數(shù)字保存在列表中

打印這些數(shù)

答案:

L = [1, 1]

a= 1b= 1

whileTrue:

a+=b

b+=a

L+=[a, b]if len(L) > 38:break

print(L)

方法二

L= [1, 1]

a= 1b=0

i=0while i < 40:

a= a +b

b= a -b

L.append(b)

i+= 1

print(L)

4.

L= [1, 3, 2, 1, 6, 4, 2, ......98, 82]

將列表中出現(xiàn)的重復(fù)數(shù)字存入另一個(gè)列表L2中

要求:重復(fù)出現(xiàn)多次的數(shù)字在L2中只保留一份 (去重)

答案:

L =[]whileTrue:

a= int(input("please input at will integer (input '-1' over):"))if a <0:breakL.append(a)

L2=[]for x inL:if x not inL2:

L2.append(x)print(L)print(L2)

5.

輸入多行文字,存入列表中,

每次輸入回車后算一行

任意輸入多行,當(dāng)輸入回車(即輸入空行時(shí)結(jié)束輸入)

1) 按原輸入內(nèi)容在屏幕上輸出內(nèi)容

2) 打印出您共輸入了多少行文字

3) 打印出您共輸入了多少個(gè)字符

答案;

L =[]

i=0whileTrue:

a= input("please input at will string direct Enter over:")if a == "":breaki+=len(a)

L.append(a)for x inL:print(x)print("您共輸入的行數(shù):", len(L))print("您共輸入的字符:", i)

6.

1. 有字符串"hello"

請(qǐng)用此字符串生成:

'h e l l o' 和 'h-e-l-l-o'

2. 寫(xiě)一個(gè)程序,讓用戶輸入很多正整數(shù),當(dāng)輸入小于零的數(shù)時(shí)結(jié)束輸入,

1) 打印這些數(shù)中最大的一個(gè)數(shù)

2) 打印這些數(shù)中第二大的一個(gè)數(shù)

3) 刪除最小的一個(gè)數(shù)

4) 打印剩余數(shù)的和

答案:

s = "heool"L= " ".join(s)print(L)

L= "-".join(s)print(L)

7.

用列表推導(dǎo)式生成1~100內(nèi)奇數(shù)的列表

結(jié)果是: [1, 3, 5, 7, ..... 99]

答案:

L = [x for x in range(1, 100, 2)]print(L)

L = [x for x in range(1, 100) if x % 2 !=0]print(L)

8.

生成一個(gè)數(shù)值為 1 ~ 9的平方的列表,去掉所有的奇數(shù)的平方

答案:

L = [x**2 for x in range(2, 10, 2)]print(L)

L = [x**2 for x in range(2, 10) if x % 2 ==0]print(L)

Python人工智能從入門(mén)到精通

加油!

總結(jié)

以上是生活随笔為你收集整理的python全栈工程师百科_Python全栈工程师(列表、拷贝)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。