【每天乙個小知識】
python字典簡介
(1)訪問字典中的值
> in
[1]: d
['tom']
>out
[1]: 23
(2)修改字典
#向字典中增加新內容
d['amy']='yong'
#刪除字典中的某個元素
del d['tom']
#清空字典中的元素
d.clear()
(1)方法一
d=
with
open('d:\\dic.csv','w') as
_f: for k,v in d.items():
_f.write("{},{}\n".format(k,v))
輸出結果為:
(2)方法二
import csv
d=
with
open('d:\\dic.csv','w') as
_f: writer=csv.writer(_f)
for k,v in d.items():
writer.writerow([k,v])
輸出結果為:
我們可以看到,使用這種方法會在輸出的各行內容之間產生空行。
這是因為open()函式的引數中newline=none時,輸入的行不管是以』\n』,』\r』還是』\r\n』結尾,都會在返回之前轉換成』\n』。
將檔案內容讀取出來之後,我們發現,字串樣式為 『tom,23\n\nbob,25\n\n』,每行內容之間有兩個換行符。因此,要想去掉空行,我們只需設定open()函式中的引數newline=」。
或者,我們可以再次讀取檔案,然後使用replace方法將兩個換行符替換成乙個,string.replace(『\n\n』,』\n』)。同樣能實現以下效果:
我們希望將列表中的每個值寫入不同的列中
(1)方法一
使用雙層for迴圈
dic1=
with
open('d:\\dic.csv','w') as
_f: for k,v in dic1.items():
_f.write(k)
_f.write(',')
foritem
in v:
_f.write(str(item))
_f.write(',')
_f.write('\n')
結果如下:
(2)方法二
使用列表推導式
with
open('d:\\dic.csv','w') as
_f: for k,v in dic1.items():
_f.write(k)
_f.write(',')
list([_f.write('{},'.format(str(i)))] for i in v)
_f.write('\n')
結果同上。
【注】歡迎批評指正
Python學習歷程
python range 函式用於建立乙個整數列表,多用於for迴圈中。基本形式 range start,stop,step 例如 range 0,5 表示建立乙個列表 0,1,2,3,4 不包括5 range 5 則表示建立乙個列表 0,1,2,3,4,5 包括5 range 0,20,5 表示建...
Python 學習歷程
第一課 平台搭建 一.windows系統下安裝python 1.cmd命令提示符 1.開始 執行cmd 2.位址列輸入cmd 3.自定義右擊選單 4.shift 右擊 2.安裝python直譯器 官網 downloads 檔案 python 3.9.1 amd64.exe安裝時注意勾選路徑 驗證 p...
Python學習歷程 2011 10 03
執行環境 python 3 這個是個有趣的部分,因為沒有標準答案,所以中間對list使用了sort 所以最小值就是 inputs 0 當然最大值是list最後乙個值,也就是 inputs 1 0 與書上寫的25行剛剛好 print type integers,each followed by ent...