python如何用print打印出列表?
不對直接print(move)應該輸出??[
Python中數據結構、字典和列表都有哪些技巧分享?
每天把學習Python的知識點記錄下來
摘要
關于Python的數據結構、字典和列表的小技巧。
正文
中的拷貝
eg:a【1,2,3】,如果把a中的內容拷貝到b中,我們怎么做呢?
a[1,2,3]
ba
(4)
print(id(a),a)
print(id(b),b)
但問題來了,b中明明有4個元素,但用id()函數后,卻和a中的元素一樣了,為什么呢?答案是:b只是a的引用,都是同一個地址,并沒有實現真正意義上的copy。那我們怎么改呢?
importcopy
a[1,2,3]
bcopy.copy(a)
(4)
print(a:,a)
print(b:,b)
a:[1,2,3]
b:[1,2,3,4]
小結:當你想修改一個對象,而又不想改變原對象,你必須使用copy模塊。
2.如何讓列表中的元素存在就返回,不存在就返回默認值?
問題描述:假設有一個列表L,一個索引號i,我們希望當i時L的有效索引時就獲取L[i],如果不是有效的索引,就返回一個默認值。
第一種情況:對于字典來說
d{1:aa,2:bb,3:cc}
print((4,xx))
xx
第二種情況:對于列表
deflist_get(L,i,vNone):
if-len(L)ltiltlen(L):returnL[i]
else:
returnv
print(list_get([1,2,3],-3,10))
print(list_get([1,2,3],5,10))
小結:需要注意的是列表的下標是負數[-len,len].
3.如何循環訪問序列中的元素和索引?
問題描述:我們需要循環訪問一個序列并且每一步都知道自己已經訪問到的索引,并替換掉對應值因為Pyhthon默認的循環是完全不依賴索引的
eg:我們想把列表中的10換成3?
list1[1,2,10,4]
forindex,iteminenumerate(list1):
ifitemgt9:
list1[index]3
print(list1)
[1,2,3,4]
4.如何用字典格式化長的字符串?
aInfo{wangdachui:3000,niuyun:2000,linling:4500,Tianqi:8000}
template
Welcometothepay
niuyunsalaryis%(niuyun)s.
wangdachuissalaryis%(wangdachui)s.
print(template%aInfo)
Welcometothepaywall.
NiuYunsalaryis2000.
Wangdachuissalaryis3000.
小結:主要用到一個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.如何打印文件中中英文混合的文件?
importos
fornamein(.):
print(name.encode(gbk))#win下的中文編碼都是gbk
小結:這塊用了os模塊,以及encode,注意在Python2中是decode。
7.怎么找兩個字典中的相同內容呢?
問題描述:找出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)
總結:
我所有的代碼都是基于Python3編寫的,每一個都是我測試過的。
希望感興趣的同學快快運行一下吧。每天進步一點點,和我一起學Python吧!