




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1) Python lstrip() 方法用于截掉字符串左邊的空格或指定字符。2) Python strip() 方法用于移除字符串頭尾指定的字符(默認為空格)。3) Python endswith() 方法用于判斷字符串是否以指定后綴結尾,如果以指定后綴結尾返回True,否則返回False。可選參數"start"與"end"為檢索字符串的開始與結束位置。4) str.endswith(suffix, start, end)5) 不需要用split啊,split是分割用replace(src, des)#des為需要替換成的目標字串,src為需要替換的源
2、字串如:>>> str = "My name is xxx, and yours? .">>> print strMy name is xxx, and yours? .>>> str = str.replace(',','')>>> print strMy name is xxx and yours? .6) list.append(obj)arr = 1,2,3,4,5,6· 1· 取第一列的值v = x0 for x in arr >>
3、;> a=1,2,3,4,5,6>>> a0 #取一行1, 2, 3>>> a:,0 #嘗試用數組的方法讀取一列失敗TypeError: list indices must be integers or slices, not tuple· 1· 2· 3· 4· 5 我們需要用列表解析的方法讀取一列:>>> b=x0 for x in a>>> print(b)1, 4 而對于數組,可以直接讀?。?gt;>> import numpy as n
4、p>>> a=np.array(1,2,3,4,5,6)>>> a:,0array(1, 4)pop() 函數用于移除列表中的一個元素(默認最后一個元素),并且返回該元素的值。語法pop()方法語法:list.pop(obj=list-1)參數· obj - 可選參數,要移除列表元素的對象。返回值該方法返回從列表中移除的元素對象。實例以下實例展示了 pop()函數的使用方法:#!/usr/bin/pythonaList = 123, 'xyz', 'zara', 'abc'print "A
5、List : ", aList.pop();print "B List : ", aList.pop(2);以上實例輸出結果如下:A List : abcB List : zarapython 判斷字符串是否為空用什么方法?s=' 'if s.strip()='': print 's is null'或者if not s.strip(): print 's is null'這是從網上搜索的一篇也的還可以的Python進制轉換,經過驗證可以使用。下面貼出它的實現代碼:?12345678910111213
6、141516171819202122232425262728293031323334353637383940414243444546474849505152535455#!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, 2009 # ld elements in base 2, 10, 16. import os,sys # global definition # base = 0, 1, 2, 3,
7、 4, 5, 6, 7, 8, 9, A, B, C, D, E, F base = str(x) for x in range(10) + chr(x) for x in range(ord('A'),ord('A')+6) # bin2dec # 二進制 to 十進制: int(str,n=10) def bin2dec(string_num): return str(int(string_num, 2) # hex2dec # 十六進制 to 十進制 def hex2dec
8、(string_num): return str(int(string_num.upper(), 16) # dec2bin # 十進制 to 二進制: bin() def dec2bin(string_num): num = int(string_num) mid = while True: if num = 0: break num,rem = divmod(num,
9、 2) mid.append(baserem) return ''.join(str(x) for x in mid:-1) # dec2hex # 十進制 to 八進制: oct() # 十進制 to 十六進制: hex() def dec2hex(string_num): num = int(string_num) mid = while True:
10、; if num = 0: break num,rem = divmod(num, 16) mid.append(baserem) return ''.join(str(x) for x in mid:-1) # hex2tobin # 十六進制 to 二進制: bin(int(str,16) def hex2bin(string_num): r
11、eturn dec2bin(hex2dec(string_num.upper() # bin2hex # 二進制 to 十六進制: hex(int(str,2) def bin2hex(string_num): return dec2hex(bin2dec(string_num)在Python 中怎么同時循環索引和元素阿751凡達 | 瀏覽 204 次 |舉報我有更好的答案2017-02-12最佳答案試試這個方法:>>> data100, 94, 88, 82, 76, 70, 64,
12、58, 52, 46, 40, 34>>> data.index(76)python文件讀寫小結讀文件打開一個文件用open()方法(open()返回一個文件對象,它是可迭代的):>>> f = open('test.txt', 'r')r表示是文本文件,rb是二進制文件。(這個mode參數默認值就是r)如果文件不存在,open()函數就會拋出一個IOError的錯誤,并且給出錯誤碼和詳細的信息告訴你文件不存在:>>> f=open('test.txt', 'r')Traceb
13、ack (most recent call last): File "<stdin>", line 1, in <module>FileNotFoundError: Errno 2 No such file or directory: 'test.txt'文件使用完畢后必須關閉,因為文件對象會占用操作系統的資源,并且操作系統同一時間能打開的文件數量也是有限的>>> f.close()由于文件讀寫時都有可能產生IOError,一旦出錯,后面的f.close()就不會調用。所以,為了保證無論是否出錯都能正確地關閉文件,我
14、們可以使用try . finally來實現:try: f = open('/path/to/file', 'r') print(f.read()finally: if f: f.close()但是每次都這么寫實在太繁瑣,所以,Python引入了with語句來自動幫我們調用close()方法:with open('/path/to/file', 'r') as f: print(f.read()python文件對象提供了三個“讀”方法: read()、readline() 和 readlines()。每種方法可以接受一個變量以限制每
15、次讀取的數據量。· read() 每次讀取整個文件,它通常用于將文件內容放到一個字符串變量中。如果文件大于可用內存,為了保險起見,可以反復調用read(size)方法,每次最多讀取size個字節的內容。· readlines() 之間的差異是后者一次讀取整個文件,象 .read() 一樣。.readlines() 自動將文件內容分析成一個行的列表,該列表可以由 Python 的 for . in . 結構進行處理。· readline() 每次只讀取一行,通常比readlines() 慢得多。僅當沒有足夠內存可以一次讀取整個文件時,才應該使用 readline()
16、。注意:這三種方法是把每行末尾的'n'也讀進來了,它并不會默認的把'n'去掉,需要我們手動去掉。In2: with open('test1.txt', 'r') as f1: list1 = f1.readlines()In3: list1Out3: '111n', '222n', '333n', '444n', '555n', '666n' 去掉'n'In4: with open('test1.txt'
17、, 'r') as f1: list1 = f1.readlines()for i in range(0, len(list1): list1i = list1i.rstrip('n')In5: list1Out5: '111', '222', '333', '444', '555', '666'對于read()和readline()也是把'n'讀入了,但是print的時候可以正常顯示(因為print里的'n'被認為是換行的意思)In7
18、: with open('test1.txt', 'r') as f1: list1 = f1.read()In8: list1Out8: '111n222n333n444n555n666n'In9: print(list1)111222333444555666In10: with open('test1.txt', 'r') as f1: list1 = f1.readline()In11: list1Out11: '111n'In12: print(list1)111一個python面試題的例子
19、:有兩個文件,每個都有很多行ip地址,求出兩個文件中相同的ip地址:# coding:utf-8import bisectwith open('test1.txt', 'r') as f1: list1 = f1.readlines()for i in range(0, len(list1): list1i = list1i.strip('n')with open('test2.txt', 'r') as f2: list2 = f2.readlines()for i in range(0, len(list2):
20、 list2i = list2i.strip('n')list2.sort()length_2 = len(list2)same_data = for i in list1: pos = bisect.bisect_left(list2, i) if pos < len(list2) and list2pos = i: same_data.append(i)same_data = list(set(same_data)print(same_data)要點就是:(1)用with (2)處理行末的'n' (3)使用二分查找提高算法效率。(4)使用set快速去重
21、。 寫文件寫文件和讀文件是一樣的,唯一區別是調用open()函數時,傳入標識符'w'或者'wb'表示寫文本文件或寫二進制文件:>>> f = open('test.txt', 'w') # 若是'wb'就表示寫二進制文件>>> f.write('Hello, world!')>>> f.close()注意:'w'這個模式是醬紫:如果沒有這個文件,就創建一個;如果有,那么就會先把原文件的內容清空再寫入新的東西。所以若不想清
22、空原來的內容而是直接在后面追加新的內容,就用'a'這個模式。我們可以反復調用write()來寫入文件,但是務必要調用f.close()來關閉文件。當我們寫文件時,操作系統往往不會立刻把數據寫入磁盤,而是放到內存緩存起來,空閑的時候再慢慢寫入。只有調用close()方法時,操作系統才保證把沒有寫入的數據全部寫入磁盤。忘記調用close()的后果是數據可能只寫了一部分到磁盤,剩下的丟失了。所以,還是用with語句來得保險:with open('test.txt', 'w') as f: f.write('Hello, world!')
23、python文件對象提供了兩個“寫”方法: write() 和 writelines()。· write()方法和read()、readline()方法對應,是將字符串寫入到文件中。· writelines()方法和readlines()方法對應,也是針對列表的操作。它接收一個字符串列表作為參數,將他們寫入到文件中,換行符不會自動的加入,因此,需要顯式的加入換行符。f1 = open('test1.txt', 'w')f1.writelines("1", "2", "3")
24、# 此時test1.txt的內容為:123f1 = open('test1.txt', 'w')f1.writelines("1n", "2n", "3n")# 此時test1.txt的內容為:# 1# 2 # 3 關于open()的mode參數:'r':讀'w':寫'a':追加'r+' = r+w(可讀可寫,文件若不存在就報錯(IOError))'w+' = w+r(可讀可寫,文件若不存在就創建)'a+&
25、#39; =a+r(可追加可寫,文件若不存在就創建)對應的,如果是二進制文件,就都加一個b就好啦:'rb''wb''ab''rb+''wb+''ab+' file_obj.seek(offset,whence=0)file_obj.seek(offset,whence=0)方法用來在文件中移動文件指針。offset表示偏移多少??蛇x參數whence表示從哪里開始偏移,默認是0為文件開頭,1為當前位置,2為文件尾部。舉例:f = open("test1.txt", "a+")print(f.read()f.write('1')f.seek(0, 0)# 把文件指針從末尾移到開頭,沒有這句話下面的read()就讀不到正確的東西print(f.read()f.close()注意:這個文件指針的改變只是作用于'r',對'w'和'a'不會起作用,如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食材倉庫衛生管理制度
- 作風建設自身管理制度
- 供暖事故搶修管理制度
- 供氣單位停用管理制度
- 供水公司成本管理制度
- 供水單位消毒管理制度
- 供水維修安全管理制度
- 供熱公司印章管理制度
- 供熱維修考核管理制度
- 供電公司四項管理制度
- 壯族文化宣傳介飲食服飾建筑風俗習慣特點傳統節日課件
- 牛津譯林版英語八年級下冊期末復習各單元話題寫作范文背誦
- 降低患者便秘品管圈課件
- 《國有企業管理人員處分條例》重點解讀
- CJT163-2015 導流型容積式水加熱器和半容積式水加熱器
- DL-T5159-2012電力工程物探技術規程
- 2025屆新疆維吾爾自治區新疆生產建設兵團二中物理高一第二學期期末質量檢測試題含解析
- 湖南省株洲荷塘區四校聯考2024屆八下物理期末綜合測試試題及答案解析
- FZ∕T 61002-2019 化纖仿毛毛毯
- GB/T 3880.3-2024一般工業用鋁及鋁合金板、帶材第3部分:尺寸偏差
- 2024年《企業戰略管理》期末考試復習題庫(含答案)
評論
0/150
提交評論