python常用內建函式與結構

2021-10-03 20:58:14 字數 4485 閱讀 9153

pop() 函式用於移除列表中的乙個元素(預設最後乙個元素),並且返回該元素的值。

pop()方法語法:

list.pop([index=-1])
該方法返回從列表中移除的元素物件。

以下例項展示了 pop()函式的使用方法:

list1 = ['google', 'runoob', 'taobao']

list_pop=list1.pop(1)

print "刪除的項為 :", list_pop

print "列表現在為 : ", list1

pow()方法返回 xy(x的y次方) 的值。

以下是 math 模組 pow() 方法的語法:

import math

math.pow( x, y )

sqrt()方法返回數字x的平方根。

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

import math

math.sqrt( x )

注意:sqrt()是不能直接訪問的,需要匯入 math 模組,通過靜態物件呼叫該方法。

python 字典(dictionary) keys() 函式以列表返回乙個字典所有的鍵。

keys()方法語法:

dict.keys()
返回乙個字典所有的鍵。

以下例項展示了 keys()函式的使用方法:

#!/usr/bin/python

dict =

print "value : %s" % dict.keys()

abs() 函式返回數字的絕對值。

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

abs( x )
集合(set)是乙個無序的不重複元素序列。可以使用大括號  或者 set() 函式建立

集合,注意:建立乙個空集合必須用 set() 而不是 ,因為  是用來建立乙個空字典。

建立格式:

myset=  

或者set(value)

語法格式如下:將元素 x 新增到集合 s 中,如果元素已存在,則不進行任何操作。

s.add( x )
參考:

1. python字典的clear()方法(刪除字典內所有元素)

dict =

dict.clear(); # 清空詞典所有條目

2. python字典的pop()方法(刪除字典給定鍵 key 所對應的值,返回值為被刪除的值)

site=

pop_obj=site.pop('name') # 刪除要刪除的鍵值對,如這個鍵值對

3. python字典的popitem()方法(隨機返回並刪除字典中的一對鍵和值)

site=

pop_obj=site.popitem() # 隨機返回並刪除乙個鍵值對

print pop_obj # 輸出結果可能是

4. del 全域性方法(能刪單一的元素也能清空字典,清空只需一項操作)

site=

del site['name'] # 刪除鍵是'name'的條目

del site # 清空字典所有條目

例項:>>> print(basket) # 這裡演示的是去重功能

>>> 'orange' in basket # 快速判斷元素是否在集合內

true

>>> 'crabgrass' in basket

false

>>> # 下面展示兩個集合間的運算.

>>> a = set('abracadabra')

>>> b = set('alacazam')

>>> a

>>> a - b # 集合a中包含而集合b中不包含的元素

>>> a | b # 集合a或b中包含的所有元素

>>> a & b # 集合a和b中都包含了的元素

>>> a ^ b # 不同時包含於a和b的元素

類似列表推導式,同樣集合支援集合推導式(set comprehension):

例項:

>>>a =  

>>> a

1.sort()方法:只能對list進行排序,不能對dict字典進行排序

對list排序會修改list本身,不會返回新list,通常此方法不如sorted()方便,但是如果你不需要保留原來的list,此方法將更有效sort()。

alist = ['google', 'runoob', 'taobao', 'facebook']

alist.sort()

print ( "list : ", alist)

2.使用sorted()排序

my_dict = 

result = sorted(my_dict)

print result

#輸出: ['a', 'b', 'c']

sorted(set(s),key = lambda x: s.count(x), reverse = true)

可以對list,dict排序。對dict排序缺省會按照dict的key值進行排序,最後返回的結果是乙個對key值排序好的list

1)、heapq.nlargest(n, iterable[, key])

從迭代器物件iterable中返回前n個最大的元素列表,其中關鍵字引數key用於匹配是字典物件的iterable,用於更複雜的資料結構中。

2)、heapq.nsmallest(n, iterable[, key])

從迭代器物件iterable中返回前n個最小的元素列表,其中關鍵字引數key用於匹配是字典物件的iterable,用於更複雜的資料結構中。

import heapq

## heapq.nlargest和heapq.nsmallest簡單使用

nums = [1,8,2,23,7,-4,18,23,42,37,2]

print heapq.nlargest(3, nums) ##從nums中找到最大的3個元素

## [42, 37, 23]

print heapq.nsmallest(3, nums) ##從nums中找到最小的3個元素

## [-4, 1, 2]

## heapq.nlargest和heapq.nsmallest複雜結構,使用引數key

portfolio = [,,

,,,]

cheap = heapq.nsmallest(3, portfolio, key=lambda s: s['price'])

print cheap

## [, , ]

expensive = heapq.nlargest(3, portfolio, key=lambda s: s['price'])

print expensive

## [, , ]

還有幾個需要注意的地方:1)heapq.heapify(iterable):可以將乙個列表轉換成heapq

2)在top n問題中,如果n=1,則直接用max(iterable)/min(iterable)即可。

3)如果n很大,接近集合元素,則為了提高效率,採用sort+切片的方式會更好,如:

求最大的n個元素:sorted(iterable, key=key, reverse=true)[:n]

求最小的n個元素:sorted(iterable, key=key)[:n]

nums = [1,8,2,23,7,-4,18,23,42,37,2]

max(nums)

## 42

min(nums)

## -4

print sorted(nums, reverse=true)[:3]

## [42, 37, 23]

print sorted(nums)[:3]

## [-4, 1, 2]

"".join(c*s.count(c) for c in s_list)

python 字典(dictionary) keys() 函式以列表返回乙個字典所有的鍵。

keys()方法語法:dict.keys()

參考:

Python常用內建函式

1 絕對值 abs 1 2 最大最小值 max 1,2,3 min 1,2,3 3 序列長度 len abc len 1,2,3 len 1,2,3 4 取模 divmod 5,2 2,1 5 乘方 pow 2,3,4 2 3 4 6 浮點數 round 1 1 函式是否可呼叫 callable f...

python常用內建函式

locals 當前作用域內所有變數 globals 全域性所有變數 next 迭代器 iter 可迭代物件 range dir 檢視乙個物件擁有的屬性 callable 括號內為可呼叫函式時返回true help open writable readable hash 括號內必須為乙個可雜湊型別 e...

python 常用內建函式

getitem 支援物件可迭代 setitem 支援可變序列協議 iter 返回 self,以便在應該使用可迭代物件的地方使用迭代器,例如在 for 迴圈中 getattr setattr repr 以便於開發者理解的方式返回物件的字串表示形式 str 以便於使用者理解的方式返回物件的字串表示形式 ...