python筆記1:python函數的使用

1、函數:len()python

1:做用:返回字符串、列表、字典、元組等長度函數

2:語法:len(str)spa

3:參數: str:要計算的字符串、列表、字典、元組等code

4:返回值:字符串、列表、字典、元組等元素的長度blog

5:實例 :排序

5.一、計算字符串的長度:字符串

>>> s = "hello good boy doiido"
>>> len(s)
21

5.二、計算列表的元素個數:generator

>>> l = ['h','e','l','l','o']
>>> len(l)
5

 5.三、計算字典的總長度(即鍵值對總數):原型

>>> d = {'num':123,'name':"doiido"}
>>> len(d)
2

 5.四、計算元組元素個數:class

>>> t = ('G','o','o','d')
>>> len(t)
4

 

2、sort函數

sort函數是序列的內部函數
 
函數原型:
 L.sort(cmp=None, key=None, reverse=False)

函數做用:

它是把L原地排序,也就是使用後並非返回一個有序的序列副本,而是把當前序列變得有序
 
參數說明:
(1)  cmp參數
cmp接受一個函數,拿整形舉例,形式爲:
def f(a,b):

     return a-b

若是排序的元素是其餘類型的,若是a邏輯小於b,函數返回負數;a邏輯等於b,函數返回0;a邏輯大於b,函數返回正數就好了

 
(2)  key參數
 key也是接受一個函數,不一樣的是,這個函數只接受一個元素,形式以下
def f(a):

     return len(a)

key接受的函數返回值,表示此元素的權值,sort將按照權值大小進行排序

 
(3) reverse參數
接受False 或者True 表示是否逆序
 
sort舉例:
(1)按照元素長度排序
L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]

def f(x):

    return len(x)
sort(key=f)
print L

輸出:

[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]
 
 
(2)按照每一個字典元素裏面key爲1的元素的值排序
L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]

def f2(a,b):

    return a[1]-b[1]

L.sort(cmp=f2)

print L

輸出:

[{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}]
 
3、reverse()
reverse() 函數用於反向列表中元素。
 
reverse()方法語法:
list.reverse()

該方法沒有返回值,可是會對列表的元素進行反向排序。

實例:

#!/usr/bin/python

aList = [123, 'xyz', 'zara', 'abc', 'xyz'];

aList.reverse();
print "List : ", aList;

輸出結果:

List :  ['xyz', 'abc', 'zara', 'xyz', 123]

 

4、列表推導式

能夠用它來轉換和過濾數據。

寫法:

[表達式 for 變量 in 列表 if 條件]


轉換數據:

從一到十轉換成一到十的平方

>>> [x*x for x in range(1,11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

過濾數據:
找出一到十中的偶數

>>> [x for x in range(1,11) if x%2==0]
[2, 4, 6, 8, 10]

 

與字典搭配使用:

>>> dict([(x,x*x) for x in range(1,11)])
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}


集合推導式:

若是列表推導式的結果裏有不少重複項的話,可使用集合推導式,語法就是把列表推導式外面的方括號換爲花括號

 >>> {x for y in range(2,8) for x in range(y*2,51,y)} set([4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50])


生成器推導式:

若把列表推導式的方括號換爲圓括號,則返回結果是一個生產器

>>> (x*x for x in range(1,11))
<generator object <genexpr> at 0x1007ec2d0>

 

 5、setdefault()

主要是獲取信息,若是獲取不到的時候就按照他的參數設置該值。

>>> a={}
>>> a['key']='123'
>>> print (a)
{'key': '123'}
>>> print (a.setdefault('key','456'))  #顯示a這個字典的'key'值的內容,由於字典有,因此不會去設置它
123

>>> print (a.setdefault('key1','456')) #顯示a這個字典的'key1'值的內容,由於字典沒有,因此設置爲456了
456
>>> a
{'key1': '456', 'key': '123'}
相關文章
相關標籤/搜索