Python基礎總結之常用內置方法總結

文章目錄

  • 前言
  • 1、str
    • 1.1、內置方法:
    • 1.2、常用的內置方法
    • 1.3、String模塊的一些方法
  • 2、list
    • 2.1、內置方法
    • 2.2、常用內置方法
  • 3、tupple
    • 3.1、內置方法
    • 3.2、常用內置方法
  • 4、dict
    • 4.1、內置方法
    • 4.2、常用內置方法
  • 5、其他
    • 5.1、幾個sort的使用
    • 5.2、enumerate():根據可迭代對象創建枚舉對象
    • 5.3、filter
    • 5.4、map() 會根據提供的函數對指定序列做映射。
    • 5.5、reduce()
    • 5.6、dir()
    • 5.7、eval()
    • 5.8、file()
    • 5.9、isinstance()
    • 5.10、round()
    • 5.11、set()
    • 5.12、zip()
    • 5.13、Format()

前言

由于一些原因,好久沒更博客了,接下來會陸續總結出一些包含各方面的基礎知識的文章(如數據庫、Python、數據挖掘等),算是作為以后的“考前”(面試)回顧的資料吧。首先就寫下關于Python基礎的一些總結吧。

1、str

1.1、內置方法:

在這里插入圖片描述
[‘capitalize’,‘casefold’,‘center’,‘count’,‘ncode’,‘endswith’,‘expandtabs’,‘find’,‘format’,‘format_map’,‘index’,‘isalnum’,‘isalpha’,‘isdecimal’,‘isdigit’‘isidentifier’,‘islower’,‘isnumeric’,‘isprintable’,‘isspace’,‘istitle’,‘isupper’,‘join’,‘ljust’,‘lower’,‘lstrip’,‘maketrans’,‘partition’,‘replace’,‘rfind’,‘rindex’,‘rjust’,‘rpartition’,‘rsplit’,‘rstrip’,‘split’,‘splitlines’,‘startswith’,‘strip’,‘swapcase’,‘title’,‘translate’,‘upper’,‘zfill’]

1.2、常用的內置方法

S.join(iterable)->str #將iterable拼接成(轉化為)字符串
在這里插入圖片描述

“”.join(list)#將list轉化為字符串

S.replace(old,new[,count])->str #替換字符串中元素,返回一個新字符串。
在這里插入圖片描述

S.split(sep,maxsplit)->list#將字符串分割為list
在這里插入圖片描述

S.strip([chars])->str#剔除字符串中的特定字符
在這里插入圖片描述

S.swapcase()->str#轉化字符串的大小寫字母
在這里插入圖片描述

capitalize:Python capitalize()將字符串的第一個字母變成大寫,其他字母變小寫
在這里插入圖片描述
S.islower()/isupper() #判斷字符是否是全為大/小寫
S.lower()/upper()#將字符串轉化為大寫或小寫
在這里插入圖片描述

maketrans()->:返回一張翻譯表

#定義翻譯表,然后對相應的字符串一個字一個字的去映射。與replace的區別:replace不能對每個字符進行一一映射,而translate可以
在這里插入圖片描述
translate(table)->str#傳入table進行映射處理
在這里插入圖片描述

a="asdfsdafd123"
g = str.maketrans("abc","123")
print(a)
asdfsdafd123
print(a.translate(g))
1sdfsd1fd123

S.count(sub[,start[,end]])->int #返回某個字符(串)出現的次數`
在這里插入圖片描述

S.find(sub[,star,end]) -> int #返回索引值
S.index()#同find方法一樣,區別:若沒有該值的索引則拋出異常。
在這里插入圖片描述

a="hello world"
a.find("word")#找到返回初始的索引值
a.find("wordl")#未找到返回-1

S.format(*args,**kwargs)->str #格式化輸出字符串
在這里插入圖片描述

"my name is {0} and age is {1}".format("xiaoli",25)
"my name is {a}, i love {b}".format(a='pyer',b='apple')

S.isdigit()->bool #判斷字符是否是數字
在這里插入圖片描述

str.strip([chars])
參數
chars – 移除字符串頭尾指定的字符序列。
返回值
返回移除字符串頭尾指定的字符生成的新字符串。

1.3、String模塊的一些方法

在這里插入圖片描述

2、list

2.1、內置方法

在這里插入圖片描述

2.2、常用內置方法

[‘append’,‘clear’,‘copy’,‘count’,‘extend’,‘index’,‘insert’,‘pop’,‘remove’,‘reverse’,‘sort’]

L.append()->None #添加元素到list末尾
在這里插入圖片描述

L.insert(index,object)#在對應的index添加元素在這里插入圖片描述

L.clear()->None #清空list所有元素在這里插入圖片描述

L.pop([index])-|>item#剔除index的元素并返回
在這里插入圖片描述

L.remove(value)->None#剔除list中的包含的第一項的value。在這里插入圖片描述在這里插入圖片描述

L.extend(iterable)->None #添加迭代器來擴展list在這里插入圖片描述

L.reverse()#反轉list

L.count(value)->int #查找list中某value出現的次數
在這里插入圖片描述

L.sort(key)->None #只需要傳入對應的key即可,原理就是拿key中的每個元素執行sort方法
在這里插入圖片描述

a.sort(key=lambda x :x[],reverse=True)

L.copy()->list #生成一個新的list,存儲地址不同

3、tupple

3.1、內置方法

在這里插入圖片描述

3.2、常用內置方法

count()
index()

4、dict

4.1、內置方法

在這里插入圖片描述

4.2、常用內置方法

[‘clear’, ‘copy’, ‘fromkeys’
, ‘get’, ‘items’, ‘keys’, ‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]

fromkeys(iterable,value=None)#通過傳入iterable生成新的dict。
在這里插入圖片描述
在這里插入圖片描述

D.get(k[,d])->D[k]#傳入k得到對應的value
在這里插入圖片描述

D.items()->set #返回dict的子項item
在這里插入圖片描述

D.update()#傳入dict進行更新
在這里插入圖片描述在這里插入圖片描述

5、其他

5.1、幾個sort的使用

sorted #傳入對應的迭代器和key即可比較
在這里插入圖片描述

字典如何去排序#sorted(dict.items(),key=lambdax:x[1])#dict.item()返回值為tuple,所以才能利用sored排序!
在這里插入圖片描述

a.sort(key=lambda x :x[],reverse=True)#key最好用#聲明按字典中key或者value進行排序
在這里插入圖片描述

多級排序咋個辦#使用sort方法中operator
在這里插入圖片描述

sorted() 函數對所有可迭代的對象進行排序操作。

sort 與 sorted 區別:
1、sort 是應用在 list 上的方法,sorted 可以對所有可迭代的對象進行排序操作。
2、list 的 sort 方法返回的是對已經存在的列表進行操作,無返回值,而內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操作。

語法
sorted 語法:

sorted(iterable[, cmp[, key[, reverse]]])
參數說明:

iterable – 可迭代對象。
cmp – 比較的函數,這個具有兩個參數,參數的值都是從可迭代對象中取出,此函數必須遵守的規則為,大于則返回1,小于則返回-1,等于則返回0。
key – 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自于可迭代對象中,指定可迭代對象中的一個元素來進行排序。
reverse – 排序規則,reverse = True 降序 , reverse = False 升序(默認)。
返回值
返回重新排序的列表。

>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a)       # 保留原列表
>>> a 
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))   # 利用cmp函數
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> sorted(L, key=lambda x:x[1])               # 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2])            # 按年齡排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]>>> sorted(students, key=lambda s: s[2], reverse=True)       # 按降序
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>>

5.2、enumerate():根據可迭代對象創建枚舉對象

enumerate() 函數用于將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。

語法
以下是 enumerate() 方法的語法:

enumerate(sequence, [start=0])
參數
sequence – 一個序列、迭代器或其他支持迭代對象。
start – 下標起始位置。
返回值
返回 enumerate(枚舉) 對象。

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下標從 1 開始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
...     print i, element
... 
0 one
1 two
2 three

5.3、filter

filter() 函數用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個參數,第一個為函數,第二個為序列,序列的每個元素作為參數傳遞給函數進行判,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。
語法
以下是 filter() 方法的語法:

filter(function, iterable)
參數
function – 判斷函數。
iterable – 可迭代對象。
返回值
返回列表。

實例
以下展示了使用 filter 函數的實例:
過濾出列表中的所有奇數:
#!/usr/bin/python
# -*- coding: UTF-8 -*-def is_odd(n):return n % 2 == 1newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
輸出結果 :[1, 3, 5, 7, 9]

5.4、map() 會根據提供的函數對指定序列做映射。

第一個參數 function 以參數序列中的每一個元素調用 function 函數,返回包含每次 function 函數返回值的新列表。

map() 函數語法:
map(function, iterable, …)
參數
function – 函數
iterable – 一個或多個序列
返回值
Python 2.x 返回列表。
Python 3.x 返回迭代器

>>>def square(x) :            # 計算平方數
...     return x ** 2
... 
>>> map(square, [1,2,3,4,5])   # 計算列表各個元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函數
[1, 4, 9, 16, 25]# 提供了兩個列表,對相同位置的列表數據進行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

5.5、reduce()

函數會對參數序列中元素進行累積。
函數將一個數據集合(鏈表,元組等)中的所有數據進行下列操作:用傳給 reduce 中的函數 function(有兩個參數)先對集合中的第 1、2 個元素進行操作,得到的結果再與第三個數據用 function 函數運算,最后得到一個結果。

語法
reduce() 函數語法:

reduce(function, iterable[, initializer])
參數
function – 函數,有兩個參數
iterable – 可迭代對象
initializer – 可選,初始參數
返回值
返回函數計算結果。

實例
以下實例展示了 reduce() 的使用方法:
>>>def add(x, y) :            # 兩數相加
...     return x + y
... 
>>> reduce(add, [1,2,3,4,5])   # 計算列表和:1+2+3+4+5
15
>>> reduce(lambda x, y: x+y, [1,2,3,4,5])  # 使用 lambda 匿名函數
15

5.6、dir()

dir() 函數不帶參數時,返回當前范圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。如果參數包含方法__dir__(),該方法將被調用。如果參數不包含__dir__(),該方法將最大限度地收集參數信息。
dir 語法:

dir([object])
參數說明:

object – 對象、變量、類型。
返回值
返回模塊的屬性列表。

>>>dir()   #  獲得當前模塊的屬性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ])    # 查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

5.7、eval()

用來執行一個字符串表達式,并返回表達式的值。
語法
以下是 eval() 方法的語法:

eval(expression[, globals[, locals]])
參數
expression – 表達式。
globals – 變量作用域,全局命名空間,如果被提供,則必須是一個字典對象。
locals – 變量作用域,局部命名空間,如果被提供,可以是任何映射對象。
返回值
返回表達式計算結果。

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

5.8、file()

用于創建一個 file 對象,它有一個別名叫 open(),更形象一些,它們是內置函數。參數是以字符串的形式傳遞的。

語法
以下是 file() 方法的語法:

file(name[, mode[, buffering]])
參數
name – 文件名
mode – 打開模式
buffering – 0 表示不緩沖,如果為 1 表示進行行緩沖,大于 1 為緩沖區大小。
返回值
文件對象。

實例
測試文件 test.txt,內容如下:RUNOOB1
RUNOOB2
>>>f = file('test.txt')
>>> f.read()
'RUNOOB1\nRUNOOB2\n'

5.9、isinstance()

來判斷一個對象是否是一個已知的類型,類似 type()。

isinstance() 與 type() 區別:

type() 不會認為子類是一種父類類型,不考慮繼承關系。

isinstance() 會認為子類是一種父類類型,考慮繼承關系。

如果要判斷兩個類型是否相同推薦使用 isinstance()。

語法
以下是 isinstance() 方法的語法:

isinstance(object, classinfo)
參數
object – 實例對象。
classinfo – 可以是直接或間接類名、基本類型或者由它們組成的元組。
返回值
如果對象的類型與參數二的類型(classinfo)相同則返回 True,否則返回 False。。

實例
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元組中的一個返回 True
True

5.10、round()

方法返回浮點數x的四舍五入值。

語法
以下是 round() 方法的語法:

round( x [, n] )
參數
x – 數值表達式。
n – 數值表達式。
返回值
返回浮點數x的四舍五入值。

round(80.23456, 2) :  80.23
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0

5.11、set()

函數創建一個無序不重復元素集,可進行關系測試,刪除重復數據,還可以計算交集、差集、并集等。

語法
set 語法:

class set([iterable])
參數說明:

iterable – 可迭代對象對象;
返回值
返回新的集合對象。

>>>x = set('runoob')
>>> y = set('google')
>>> x, y
(set(['b', 'r', 'u', 'o', 'n']), set(['e', 'o', 'g', 'l']))   # 重復的被刪除

5.12、zip()

函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。

如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中為了減少內存,zip() 返回的是一個對象。如需展示列表,需手動 list() 轉換。

如果需要了解 Pyhton3 的應用,可以參考 Python3 zip()。

語法
zip 語法:

zip([iterable, …])
參數說明:

iterabl – 一個或多個迭代器;
返回值
返回元組列表。

實例
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 打包為元組的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)              # 元素個數與最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # 與 zip 相反,*zipped 可理解為解壓,返回二維矩陣式
[(1, 2, 3), (4, 5, 6)]

5.13、Format()

>>>"{} {}".format("hello", "world")    # 不設置指定位置,按默認順序
'hello world'>>> "{0} {1}".format("hello", "world")  # 設置指定位置
'hello world'>>> "{1} {0} {1}".format("hello", "world")  # 設置指定位置
'world hello world'

數字格式化
下表展示了 str.format() 格式化數字的多種方法:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456394.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456394.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456394.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

線程的條件變量實例

情景1:Jack開著一輛出租車來到一個網站停車。看見沒人就走了。過段時間。Susan來到網站準備乘車。可是沒有來,于是就等著。過了一會Mike開著車來到了這個網站,Sunsan就上了Mike的車走了。如圖所看到的:程序實現該情景:…

Flask 模板 之 變量和過濾器

1.模板 在前面的示例中,視圖函數的主要作用是生成請求的響應,這是最簡單的請求。實際上,視圖函數有兩個作用:處理業務邏輯和返回響應內容。在大型應用中,把業務邏輯和表現內容放在一起,會增加代碼的復雜度…

架設證書服務器 及 讓IIS啟用HTTPS服務

http://blog.csdn.net/dier4836/article/details/7719532轉載于:https://www.cnblogs.com/kunlunmountain/p/6428838.html

淺談互聯網寒冬與經濟形勢

文章目錄前言:閑扯總結:前言: 作為剛進入職場一年多的小白來說,剛準備“猥瑣發育漲經驗”,卻碰到這股互聯網寒冬,也感到鴨梨山大。也許有人認為我在販賣焦慮,但是現實真的很嚴峻。接下說下過去…

jenkins 配置

build periodically 周期進行項目構建poll scm 定時檢查遠嗎變更,如果有更新就checkout最新code下來,然后執行構建動作日程表:H 9 *** : 每天9點固定構建一次H/30 8-17 *** : 每天的8-17點每隔三十分鐘檢查一次轉載于:https://…

Java集合---LinkedList源碼解析

一、源碼解析1、 LinkedList類定義2、LinkedList數據結構原理3、私有屬性4、構造方法5、元素添加add()及原理6、刪除數據remove()7、數據獲取get()8、數據復制clone()與toArray()9、遍歷數據:Iterator()二、ListItr 一、源碼解析 1、 LinkedList類定義。 public cla…

Mysql面試熱身題集總結

文章目錄前言1、熱身題實踐其他前言 一直有個想法:把面試需要的知識點全都總結一下,包括數據庫,語言,算法,數據結構等知識,形成一個面試總結筆記,這樣以后面試的時候只看這些文章回顧下就行了。…

Flask中的 url_for() 函數

最近在學Python Flask框架,并且學會做一些簡單的項目,如做一個網站的登錄頁面等,其中學到了一個路由反向解析的函數 url_for(),這里做一個小結,供日后復習。 1.URL反轉:根據視圖函數…

Oracle執行計劃解釋

為什么80%的碼農都做不了架構師?>>> 一.相關的概念 Rowid的概念:rowid是一個偽列,既然是偽列,那么這個列就不是用戶定義,而是系統自己給加上的。 對每個表都有一個rowid的偽列,但是表…

鄧迎春繪畫201702作品10

轉載于:https://www.cnblogs.com/hanxiangmin/p/6439376.html

解決:FLASK中Warning: (1366, Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...'

Flask項目中使用mysql數據庫啟動項目是發出警告: Warning: (1366, “Incorrect string value: ‘\xD6\xD0\xB9\xFA\xB1\xEA…’ for column ‘VARIABLE_VALUE’ at row 479/480/481”) 但是項目可以正常啟動使用 如果想將次警告去掉需要導入一個模塊 解決方法&…

Pandas常用操作總結

文章目錄前言1、DF常用的兩種創建方式方式一:通過np來生成方式二:通過字典來生成2、pandas常用的屬性及方法3、Pandas Select(數據選擇)4、Pandas Set_values設置值5、Pandas Nan處理缺失值方法一:剔除缺失值所在的行或列方法二:填…

jmeter跨線程組傳值

在測試過程中,有時候需要jmeter跨線程組傳值,jmeter本身又不具備此功能,那么,又該如何實現呢? 其實,我們可以通過BeanShell去實現。 實現過程如下: 1.線程組A中,使用正則表達式提取器…

BZOJ 3093: [Fdu校賽2012] A Famous Game

3093: [Fdu校賽2012] A Famous Game Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 248 Solved: 133[Submit][Status][Discuss]Description Mr. B and Mr. M like to play with balls. They have many balls colored in blue and red. Firstly, Mr. B randomly picks up N …

Python第三方庫的安裝及路徑查看總結

文章目錄1、python第三方庫的四種安裝方法2、更換安裝的第三方庫的鏡像源3、如何查看查看python安裝路徑以及pip安裝的包列表及路徑3.1、Linux環境下查看Python路徑3.2、查看使用pip安裝的軟件包3.3、Windows 環境 查看Python路徑實際工作中,經常會在公司的服務器中…

解決 Cannot open D:\Program Files\Anaconda3\Scripts\pip-script.py 問題

報錯: Collecting pip Using cached https://files.pythonhosted.org/packages/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6 514e675a1/pip-19.2.3-py2.py3-none-any.whl Installing collected packages: pip Found existing installation: pi…

解決:flask-sqlalchemy.exc.DataError: (pymysql.err.DataError) (1406數據庫字段超出長度錯誤)

這個問題是說數據庫user的password字段長度超出,修改長度后, 硬核方法刪除migrations 文件夾 然后刪除數據庫中模型表格 python manage.py db init python manage.py db migrate python manage.py dbupgrate 三連擊后,在重新運行后方能生…

Android應用程序結構解析

界面布局文件 <?xml version"1.0" encoding"utf-8"?> 聲明了XML的版本號和編碼方式 <RelativeLayout>:聲明本界面采用的布局為RelativeLayout相對布局&#xff0c;該標簽下定義了諸如 layout_width/layout_height和paddingLeft相對布局等…

淺談開發中的MVVM模式及與MVP和MVC的區別

2019獨角獸企業重金招聘Python工程師標準>>> 我記得前段時間分享了一篇文章《 淺談Andorid開發中的MVP模式》&#xff08;點擊可跳轉&#xff09;&#xff0c;反響不錯&#xff0c;為了進一步介紹MVVM模式&#xff0c;還提前分享了實現Android中MVVM模式的一個關鍵技…

Azkaban簡介及安裝教程

前言&#xff1a; 最近在實際工作中玩到了Azkaban&#xff0c;雖然之前有簡單的接觸&#xff0c;但是真正用到的時候&#xff0c;才能體會到這個工具的實用性有多強。下面就寫個系列文章來記錄下azkaban從簡介及安裝配置再到簡單使用的一個過程。 1、概述 1.1、為什么需要工…