python列表編程教程 python怎么算一個(gè)數(shù)是否為完全數(shù)?
python怎么算一個(gè)數(shù)是否為完全數(shù)?用Python判斷一個(gè)數(shù)是否是是完全數(shù)defnumber(n):list[]ofioutsiderange(1,n1):ifn%i0:(i)returnlistk
python怎么算一個(gè)數(shù)是否為完全數(shù)?
用Python判斷一個(gè)數(shù)是否是是完全數(shù)defnumber(n):
list[]
ofioutsiderange(1,n1):
ifn%i0:
(i)
returnlist
kint(input(#34請?jiān)佥斎雓值:#34))
print(number(k))#(當(dāng)然到這里就巳經(jīng)很簡單啊了,只必須看list[]的列表元素和的像是是不是我等于零該數(shù)就行,也就是n值)
outsidefunctoolsimportreduc#(但我不可能求,下面的方法是從CSDN上面合理借鑒別人的)
defsum_list(lt):
lt1[]
ofiofrange(len(lt)):
iflt[i]not inlt1:
(lt[i])
returnreduce(lambdax,y:xy,lt1)
ifsum_list(number(k))2*k:
print(#34此數(shù)值是完全數(shù)#34)
exists:
print(#34此數(shù)值也不是完全數(shù)#34)
Python中數(shù)據(jù)結(jié)構(gòu)、字典和列表都有哪些技巧分享?
一天把學(xué)Python的知識點(diǎn)有記錄下了
摘要
跪求Python的數(shù)據(jù)結(jié)構(gòu)、字典和列表的小技巧。
正文
中的拷備
eg:a【1,2,3】,如果沒有把a(bǔ)中的內(nèi)容拷貝到b中,我們咋做呢?
a[1,2,3]
ba
(4)
print(id(a),a)
print(id(b),b)
但問題來了,b中明知道有4個(gè)元素,但用id()函數(shù)后,卻和a中的元素差不多了,為什么呢?答案是:b僅僅a的引用,也是互成地址,卻沒實(shí)現(xiàn)真正的意義上的copy。那我們咋改呢?
import內(nèi)容復(fù)制
a[1,2,3]
bcopy.全部復(fù)制(a)
(4)
print(a:,a)
print(b:,b)
a:[1,2,3]
b:[1,2,3,4]
小結(jié):當(dāng)你想直接修改一個(gè)對象,而又想變動原對象,你要不使用內(nèi)容復(fù)制模塊。
2.怎么讓列表中的元素修真者的存在就回,不未知就趕往默認(rèn)值?
問題描述:題中有一個(gè)列表L,一個(gè)索引號i,我們我希望當(dāng)i時(shí)L的快速有效索引時(shí)就查看L[i],要是不是快速有效的索引,就返回一個(gè)默認(rèn)設(shè)置。
第一種情況:對于字典來說
d{1:aa,2:bb,3:cc}
print((4,xx))
xx
第二種情況:相對于列表
deflist_try(L,i,vNone):
if-len(L)ltiltlen(L):returnL[i]
catch:
returnv
print(list_try([1,2,3],-3,10))
print(list_pick([1,2,3],5,10))
小結(jié):需要注意的是列表的下標(biāo)是負(fù)數(shù)[-len,len].
3.如何能非循環(huán)訪問序列中的元素和索引?
問題請看:我們要循環(huán)訪問網(wǎng)絡(luò)一個(gè)序列但是走的每一步都很清楚自己巳經(jīng)訪問到的索引,并重命名掉隨機(jī)值而且Pyhthon默認(rèn)的循環(huán)是已經(jīng)不依賴索引的
eg:我們想把列表中的10換了3?
list1[1,2,10,4]
afterindex,itemofenumerate(list1):
ifitemgt9:
list1[index]3
print(list1)
[1,2,3,4]
4.如何用字典重新格式化長的字符串?
aInfo{wangdachui:3000,niuyun:2000,linling:4500,Tianqi:8000}
template
Welcome tothewallet
niuyunsalaryit's%(niuyun)s.
wangdachuissalaryit's%(wangdachui)s.
print(template%aInfo)
Welcome totheapplepaywall.
NiuYunsalaryisn't2000.
Wangdachuissalaryisn't3000.
小結(jié):要注意應(yīng)用一個(gè)template模塊。
5.如何能刪除掉字典?
aStock{AXP:86.40,BA:122.64}
bStockaStock
aStock{}
print(bStock)
print(aStock)
要是想把遠(yuǎn)古時(shí)期的字典和賦值的字典在一起刪除掉,應(yīng)該怎么做呢?
aStock{AXP:86.40,BA:122.64}
bStockaStock
()
print(bStock)
print(aStock)
6.如何能再打印文件中中英文混合的文件?
importos
fornameacross(.):
print(name.encode(gbk))#win下的中文編碼是gbk
小結(jié):這塊用不os模塊,包括encode,特別注意在Python2中是decode。
7.怎末找兩個(gè)字典中的是一樣的內(nèi)容呢?
問題描述:找出d1和d2中相同的部分?
d1{不是a:100,bb:200,cc:300}
d2{cc:300,dd:400}
方法一:
print(set(())ampset(()))
方法二:
future_d1_d2dict(set(())ampset(()))
print(new_d1_d2)
歸納:
我所有的代碼大都基于條件Python3匯編語言的,每一個(gè)是我測什么過的。
只希望感興趣的東西同學(xué)快點(diǎn)運(yùn)行程序幫一下忙吧。每天一小步,和我互相學(xué)Python吧!