最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的sorted函數(shù)應(yīng)用及文件操作詳解

 更新時間:2023年12月26日 09:30:12   作者:wrr-cat  
這篇文章主要介紹了Python中的sorted函數(shù)應(yīng)用及文件操作詳解,python只能將字符串寫入到文本文件,要將數(shù)值數(shù)據(jù)存儲到文本本件中,必須先試用函數(shù)str()將其轉(zhuǎn)換為字符串格式,需要的朋友可以參考下

Python的sorted函數(shù)及文件操作

眾所周知,def __cmp__ 作為方法存在,用sort對實例進行排序時,會用到class 中的__cmp__。但是,在python3中,取消了 sorted對cmp的支持。

python3 中有關(guān)排序的sorted方法如下:

sorted(iterable,key=None,reverse=False)

其中,key 接受一個函數(shù),這個函數(shù)只接受一個元素,默認為 None。

reverse是一個布爾值。如果設(shè)置為 True,列表元素將被倒序排列,默認為 False。

下面著重介紹 key 的作用原理:key 指定一個接收一個參數(shù)的函數(shù),這個函數(shù)用于從每個元素中提取一個用于比較的關(guān)鍵字。默認值為 None 。

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave','B', 10)]
sorted(students,key=lambda s: x[2]) #按照年齡來排序

結(jié)果:

[('dave','B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

這是一個字符串排序,排序規(guī)則:小寫<大寫<奇數(shù)<偶數(shù)

s = 'asdf234GDSdsf23'

原理:先比較元組的第一個值,如果相等就比較元組的下一個值,以此類推。

先看一下 Boolean value 的排序:print(sorted([True,Flase]))===>結(jié)果[False,True]

Boolean 的排序會將 False 排在前,True 排在后。

  • x.isdigit()的作用是把數(shù)字放在前邊,字母放在后邊.
  • x.isdigit() and int(x) % 2 == 0 的作用是保證奇數(shù)在前,偶數(shù)在后。
  • x.isupper()的作用是在前面基礎(chǔ)上,保證字母小寫在前大寫在后.
  • 最后的 x 表示在前面基礎(chǔ)上,對所有類別數(shù)字或字母排序。

最后結(jié)果:

addffssDGS33224

一道面試題:

list1=[7, -8, 5, 4, 0, -2, -5]
#要求1.正數(shù)在前負數(shù)在后 2.正數(shù)從小到大 3.負數(shù)從大到小
sorted(list1,key=lambda x:(x<0,abs(x)))

解題思路:先按照正負排先后,再按照大小排先后。

Python下文件操作與Java差不多。打開文件的模式有三種:

- r,只讀模式(默認)。

- w,只寫模式?!静豢勺x;不存在則創(chuàng)建;存在則刪除內(nèi)容;因為會清空原有文件的內(nèi)容,一定要慎用】

- a,追加模式。【可讀; 不存在則創(chuàng)建;存在則只追加內(nèi)容;】

注意最后要記得關(guān)閉文件:f.close()

python只能將字符串寫入到文本文件。要將數(shù)值數(shù)據(jù)存儲到文本本件中,必須先試用函數(shù)str()將其轉(zhuǎn)換為字符串格式。  

#r模式(只讀模式)
f = open('yesterday',encoding='utf-8')
data = f.read()
f.close()
print(data)
#只讀文件的前5行:
f = open('yesterday','r',encoding='utf-8')
for i in range(5):
    print(f.readline())
#以列表的方式讀取這個文件
f = open('yesterday','r',encoding='utf-8')
for line in f.readlines():
    print(line)
#對文件的第3行,做一個特殊的打印(這種方式比較低效,因為它會先把文件全部讀取到內(nèi)存中,文件較大時會很影響性能)
f = open('yesterday','r',encoding='utf-8')
for index,line in enumerate(f.readlines()):
    if index == 2:
        print('-----測試線----',line)
        continue
    print(line)
#比較高效的,逐行讀取文件內(nèi)容,因為它是一行一行的去讀取文件,不會先把文件一次性全部讀取到內(nèi)存中
f = open('yesterday','r',encoding='utf-8')
for line in f:
    print(line)
#比較高效的,對文件的3三行進行過特殊打印
f = open('yesterday','r',encoding='utf-8')
count = 0
for line in f:
    if count == 2:
        print('------測試線----:',line)
    count += 1
    print(line)
#w模式(如果沒有就創(chuàng)建文件,如果有就清空文件,一定要慎用)
f = open('yesterday','w',encoding='utf-8')
f.write("這就是一行測試\n")
f.write("測試2\n")
f.write("測試3")
#a模式(追加模式,如果沒有就創(chuàng)建文件,如果有就把內(nèi)容追加進去)
f = open('yesterday','a',encoding='utf-8')
f.write("test1\n")
#文件光標的操作
f = open('yesterday','r',encoding='utf-8')
#獲得文件的光標
print(f.tell())
print(f.readline())
print(f.tell())
#回到最開始的位置(也可以指定一個位置,前提是你得知道你去往的字符具體在哪個位置才行)
f.seek(0)
#顯示文件的編碼
print(f.encoding)
#顯示文件句柄的編號(我并不確定這個說法是否正確,用到時請仔細去查一下)
print(f.fileno())
#測試是否是一個終端設(shè)備文件
print(f.isatty())
#把緩存的內(nèi)容刷新到硬盤(進度條那個腳本里有寫一個示例)
f.flush()
#指定文件從哪里開始截斷,如果沒有參數(shù),默認從0開始等于清空了這個文件
#f.truncate()
#r+ 模式(讀,追加模式)
f = open('yesterday','r+',encoding='utf-8')
data = f.read()
print(data)
f.write("test...\n")
#還有 w+寫讀模式, a+追加讀模式,這一般不用,真用到了再去了解下吧
#rb 模式,以二進制的方式讀取這個文件
#wb 模式,二進制寫
'''
'''
#with語句(很實用,記得要經(jīng)常用喲~,在《Python編程從入門到實戰(zhàn)》那本書里的文件與異常那一章有詳細用法)
#為了避免打開文件后忘記關(guān)閉,可以通過管理上下文,即:
with open('log','r') as f:
    ...
#如此方式,當with代碼塊執(zhí)行完畢時,內(nèi)部會自動關(guān)閉并釋放文件資源。
#在Python 2.7 后,with又支持同時對多個文件的上下文進行管理,即:
with open('log1') as obj1, open('log2') as obj2:
    pass

到此這篇關(guān)于Python中的sorted函數(shù)應(yīng)用及文件操作詳解的文章就介紹到這了,更多相關(guān)Python的sorted函數(shù)及文件操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python+Opencv實現(xiàn)把圖片、視頻互轉(zhuǎn)的示例

    Python+Opencv實現(xiàn)把圖片、視頻互轉(zhuǎn)的示例

    這篇文章主要介紹了Python+Opencv實現(xiàn)把圖片、視頻互轉(zhuǎn)的示例,幫助大家更好的理解和實用python,感興趣的朋友可以了解下
    2020-12-12
  • python scrapy框架中Request對象和Response對象的介紹

    python scrapy框架中Request對象和Response對象的介紹

    本文介紹了python基礎(chǔ)之scrapy框架中Request對象和Response對象的介紹,Request對象主要是用來請求數(shù)據(jù),爬取一頁的數(shù)據(jù)重新發(fā)送一個請求的時候調(diào)用,Response對象一般是由scrapy給你自動構(gòu)建的,因此開發(fā)者不需要關(guān)心如何創(chuàng)建Response對象,下面來一起來了解更多內(nèi)容吧
    2022-02-02
  • Python 快速實現(xiàn)CLI 應(yīng)用程序的腳手架

    Python 快速實現(xiàn)CLI 應(yīng)用程序的腳手架

    本篇文章主要介紹了Python 快速實現(xiàn)CLI 應(yīng)用程序的腳手架,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • python 根據(jù)pid殺死相應(yīng)進程的方法

    python 根據(jù)pid殺死相應(yīng)進程的方法

    下面小編就為大家?guī)硪黄猵ython 根據(jù)pid殺死相應(yīng)進程的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python中urllib2模塊的8個使用細節(jié)分享

    Python中urllib2模塊的8個使用細節(jié)分享

    這篇文章主要介紹了Python中urllib2模塊的8個使用細節(jié)分享,本文講解了Proxy設(shè)置、Timeout設(shè)置、加入特定Header、Redirect、Cookie、PUT和DELETE方法等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • PyTorch+LSTM實現(xiàn)單變量時間序列預(yù)測

    PyTorch+LSTM實現(xiàn)單變量時間序列預(yù)測

    時間序列是指在一段時間內(nèi)發(fā)生的任何可量化的度量或事件。這篇文章主要為大家介紹了PyTorch+LSTM實現(xiàn)單變量時間序列預(yù)測的相關(guān)資料,需要的可以參考一下
    2023-02-02
  • python編程使用協(xié)程并發(fā)的優(yōu)缺點

    python編程使用協(xié)程并發(fā)的優(yōu)缺點

    協(xié)程是一種用戶態(tài)的輕量級線程,又稱微線程。這篇文章主要介紹了python編程使用協(xié)程并發(fā)的優(yōu)缺點,感興趣的朋友跟隨小編一起看看吧
    2018-09-09
  • python實現(xiàn)對任意大小圖片均勻切割的示例

    python實現(xiàn)對任意大小圖片均勻切割的示例

    今天小編就為大家分享一篇python實現(xiàn)對任意大小圖片均勻切割的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python2隨機數(shù)列生成器簡單實例

    Python2隨機數(shù)列生成器簡單實例

    這篇文章主要介紹了Python2隨機數(shù)列生成器,結(jié)合簡單實例形式分析了Python基于random模塊操作隨機數(shù)的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • Python+PyQt5設(shè)計實現(xiàn)一個C++源代碼行數(shù)統(tǒng)計工具

    Python+PyQt5設(shè)計實現(xiàn)一個C++源代碼行數(shù)統(tǒng)計工具

    在軟件開發(fā)過程中,代碼行數(shù)是一個基礎(chǔ)但重要的軟件度量指標,本文介紹一個基于PyQt5的圖形化C++源代碼行數(shù)統(tǒng)計工具,感興趣的小伙伴可以了解下
    2025-10-10

最新評論

汉沽区| 双鸭山市| 曲靖市| 绥江县| 新源县| 通州市| 凤台县| 文登市| 罗源县| 安吉县| 通河县| 汾西县| 三明市| 聂荣县| 乌什县| 南开区| 惠东县| 柘荣县| 绵阳市| 竹山县| 绥芬河市| 忻州市| 察哈| 拉孜县| 北海市| 白城市| 海晏县| 石门县| 右玉县| 钟山县| 临江市| 临高县| 疏勒县| 昔阳县| 五莲县| 松潘县| 合肥市| 云龙县| 托克托县| 盈江县| 都安|