python如何實(shí)現(xiàn)元組和列表的轉(zhuǎn)換 python如何用print打印出列表?
python如何用print打印出列表?不對直接print(move)應(yīng)該輸出??[Python中數(shù)據(jù)結(jié)構(gòu)、字典和列表都有哪些技巧分享?每天把學(xué)習(xí)Python的知識點(diǎn)記錄下來摘要關(guān)于Python的數(shù)據(jù)
python如何用print打印出列表?
不對直接print(move)應(yīng)該輸出??[
Python中數(shù)據(jù)結(jié)構(gòu)、字典和列表都有哪些技巧分享?
每天把學(xué)習(xí)Python的知識點(diǎn)記錄下來
摘要
關(guā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的引用,都是同一個(gè)地址,并沒有實(shí)現(xiàn)真正意義上的copy。那我們怎么改呢?
import copy
a[1,2,3]
bcopy. copy(a)
(4)
print(a:,a)
print(b:,b)
a: [1, 2, 3]
b: [1, 2, 3, 4]
小結(jié):當(dāng)你想修改一個(gè)對象,而又不想改變原對象,你必須使用copy模塊。
2.如何讓列表中的元素存在就返回,不存在就返回默認(rèn)值?
問題描述:假設(shè)有一個(gè)列表L,一個(gè)索引號i,我們希望當(dāng)i時(shí)L的有效索引時(shí)就獲取L[i],如果不是有效的索引,就返回一個(gè)默認(rèn)值。
第一種情況:對于字典來說
d{1:aa,2:bb,3:cc}
print((4,xx))
xx
第二種情況:對于列表
def list_get(L,i,vNone):
if-len(L)ltiltlen(L):return L[i]
else:
return v
print(list_get([1,2,3],-3,10))
print(list_get([1,2,3],5,10))
小結(jié):需要注意的是列表的下標(biāo)是負(fù)數(shù)[-len,len].
3.如何循環(huán)訪問序列中的元素和索引?
問題描述:我們需要循環(huán)訪問一個(gè)序列并且每一步都知道自己已經(jīng)訪問到的索引,并替換掉對應(yīng)值因?yàn)镻yhthon默認(rèn)的循環(huán)是完全不依賴索引的
eg:我們想把列表中的10換成3?
list1[1,2,10,4]
for index,item in enumerate(list1):
if itemgt9:
list1[index]3
print(list1)
[1, 2, 3, 4]
4.如何用字典格式化長的字符串?
aInfo{wangdachui:3000,niuyun:2000,linling:4500,Tianqi:8000}
template
Welcome to the pay
niuyun salary is %(niuyun)s.
wangdachuis salary is %(wangdachui)s.
print(template%aInfo)
Welcome to the pay wall.
NiuYun salary is 2000.
Wangdachuis salary is 3000.
小結(jié):主要用到一個(gè)template模塊。
5.如何刪除字典?
aStock{AXP:86.40,BA:122.64}
bStockaStock
aStock{}
print(bStock)
print(aStock)
如果想把原始的字典和賦值的字典一起清空,該怎么做呢?
aStock{AXP:86.40,BA:122.64}
bStockaStock
()
print(bStock)
print(aStock)
6.如何打印文件中中英文混合的文件?
import os
for name in (.):
print(name.encode(gbk)) #win下的中文編碼都是gbk
小結(jié):這塊用了os模塊,以及encode,注意在Python2中是decode。
7.怎么找兩個(gè)字典中的相同內(nèi)容呢?
問題描述:找出d1和d2中相同的部分?
d1{aa:100,bb:200,cc:300}
d2{cc:300,dd:400}
方法一:
print(set(())ampset(()))
方法二:
new_d1_d2dict(set(())ampset(()))
print(new_d1_d2)
總結(jié):
我所有的代碼都是基于Python3編寫的,每一個(gè)都是我測試過的。
希望感興趣的同學(xué)快快運(yùn)行一下吧。每天進(jìn)步一點(diǎn)點(diǎn),和我一起學(xué)Python吧!