python基礎-python處理資料
阿新 • • 發佈:2020-12-27
技術標籤:python
1、資料排序,python有兩種選擇。原地排序,排序後的資料替換原來的資料,原來的順序會丟失,對於列表,sort()方法提供原地排序;複製排序,返回原資料的有序副本,原資料的順序依然保留,sorted()支援複製排序。
2、資料排序示例
#filename列表形式檔名 def deal_file(filename): datalist=[] try: for item_name in filename: #rb:讀二進位制模式 with open(item_name,'r') as out_file: for item in out_file: #取出整個檔案資料 print(item) #.split(',')生成列表 #item.strip().split(',') 方法串聯 datalist.extend(item.strip().split(',')) #extend列表合併 #data=out_file.readline() #readline只能讀取一行資料 #print(data) except IOError as err: print('file error:'+str(err)) print(datalist) #統一時間格式 new_data=[] for str_time in datalist: new_data.append(deal_time(str_time)) print(new_data) #對資料列表排序(函式串聯) print(sorted(new_data)) #處理時間函式(統一格式,將-或:替換成.):3:4->3.4;3-4->3.4 def deal_time(time_string): if '-' in time_string: splitter='-' elif ':' in time_string: splitter=':' else: splitter='.' (mins,secs)=time_string.split(splitter) #補位數 if len(mins)<2: mins='0'+mins if len(secs)<2: secs='0'+secs return (mins+'.'+secs)
3、排序方法示例程式碼修改,簡化統一時間格式呼叫(使用列表推導)
#filename列表形式檔名 def deal_file(filename): datalist=[] try: for item_name in filename: #rb:讀二進位制模式 with open(item_name,'r') as out_file: for item in out_file: #取出整個檔案資料 print(item) #.split(',')生成列表 #item.strip().split(',') 方法串聯 datalist.extend(item.strip().split(',')) #extend列表合併 #data=out_file.readline() #readline只能讀取一行資料 #print(data) except IOError as err: print('file error:'+str(err)) print(datalist) #統一時間格式 new_data=[deal_time(str_time) for str_time in datalist] print(new_data) #對資料列表排序(函式串聯) print(sorted(new_data))
[sort()與sorted()方法預設升序排序,若想要進行降序排序,需要傳入引數reverse=True]
4、使用集合刪除重複項,集合中的資料項是無序且不允許重複的。
datalist=[10.6,11,6,10.6,10]
distances=set(datalist)
print(distances)
>>>輸出結果
{10, 10.6, 11, 6} #直接會去掉重複的10.6
此目錄會不定期更新,喜歡我的文章希望和我一起成長的寶寶們,可以搜尋並新增公眾號TryTestwonderful,或者掃描下方二維碼新增公眾號