一、函数:len()

1:作用:返回字符串、列表、字典、元组等长度

2:语法:len(str)

3:参数: str:要计算的字符串、列表、字典、元组等

4:返回值:字符串、列表、字典、元组等元素的长度

5:实例 :

5.1、计算字符串的长度:

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

5.2、计算列表的元素个数:

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

5.3、计算字典的总长度(即键值对总数):

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

5.4、计算元组元素个数:

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

二、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}]
 
三、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]

四、列表推导式

可以用它来转换和过滤数据。

写法:

[表达式 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>

五、setdefault()

主要是获取信息,如果获取不到的时候就按照他的参数设置该值。

>>> a={}
>>> a['key']=''
>>> print (a)
{'key': ''}
>>> print (a.setdefault('key','')) #显示a这个字典的'key'值的内容,因为字典有,所以不会去设置它
123 >>> print (a.setdefault('key1','')) #显示a这个字典的'key1'值的内容,因为字典没有,所以设置为456了
456
>>> a
{'key1': '', 'key': ''}

python笔记1:python函数的使用的更多相关文章

  1. 【Python笔记】Python语言基础

    Python是一种解释性(没有编译).交互式.面向对象的语言 1.安装python编译器 版本:Python2.7比较普遍,Python不是向下兼容的软件,因此Python3.x有些东西不好找资料 2 ...

  2. 【Python笔记】Python 基础语法

    Python 标识符 在 Python 里,标识符由字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分大小 ...

  3. python笔记之强制函数以关键字参数传参

    最近学习python,学到了函数传参,看到了以下这个特殊情况,特此来做个笔记 def add(*, x, y): print(x, y) 以上函数定义后,该怎么传参?前面的那个*号是做什么用的? 我们 ...

  4. python笔记-调用eval函数出现invalid syntax错误

    本来是想打算使用eval函数对变量进行赋值的,没想到出现了invalid syntax错误.源代码如下 In [2]: eval('a = 1') File "<string>& ...

  5. python笔记六(函数的参数、返回值)

    一 调用函数 在写函数之前,我们先尝试调用现有的函数 >>> abs(-9) 9 除此之外,还有我们之前使用的len()等.可以用于数据类型转换的 int() float() str ...

  6. python笔记:#012#函数

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...

  7. Python笔记-高阶函数

    1.函数式编程 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量. 函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数! 传入函数 既然 ...

  8. python笔记21-内置函数

    # print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真# print(any([0,0,0,0,0]))#判断可迭代的对象里面的值是否有一个为真# print(bin(10 ...

  9. python笔记-正则表达式常用函数

    1.re.findall()函数 语法:re.findall(pattern,string,flags=0) --> list(列表) 列出字符串中模式的所有匹配项,并作为一个列表返回.如果无匹 ...

  10. guxh的python笔记二:函数基础

    1,函数的参数 1.1,查看函数的参数类型 def run(a, *args, b, **kwargs): return a + b 可以通过如下方式查看参数类型: import inspect k ...

随机推荐

  1. SharePoint下载服务器资源

    使用IE浏览器

  2. Sunny-ngrok 解决外网访问内网问题

       该博文已过时    请参考官网        http://www.ngrok.cc/ 一  .进入 网址 往下拉找到: 下载不同的版本. 二. 平台登陆地址:http://www.ngrok. ...

  3. Photon服务器进阶&一个新游戏的出产(一)

    许久没写了,今日闲来无事随性一些,总结一下最近的游戏经历(写游戏) Photon服务器的进阶~ 距离上一篇估计也过去一个多月了,对于Photon真是又爱又恨. 爱着它的书写方便. 恨着它的教程稀少总走 ...

  4. C#安全性记录

    安全性一直是开发中,重中之重的问题.不过平时用的不算特别多,基本上用个MD5,SSL也就到这了.再次记录一下,以免忘记. MD5多次加密 MD5算法是不可逆算法.应用于密码验证,完整性验证这种特征.这 ...

  5. 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuqe.Queue)

    Python_Day_05 计数器(counter),有序字典(OrderDict),默认字典(defaultdict),可命名元祖(namedtuple),双向队列(deque),单项队列(deuq ...

  6. BZOJ3168: [Heoi2013]钙铁锌硒维生素

    设$A^TC=B^T$,这样$C_{ij}$表示$B_j$的线性表出需要$A_i$,那么$B_j$可以替换$A_i$,根据$C=(A^T)^{-1}B^T$求出$C$.要求字典序最小完美匹配,先求任意 ...

  7. wamp(win1064位家庭版+apache2.4.20+php5.5.37+mysql5.5.50)环境搭建

    wamp环境搭建之软件准备 *php:http://windows.php.net/downloads/releases/php-5.5.37-Win32-VC11-x86.zip *apache:h ...

  8. awk 的使用方法

    awk 的使用方法 我们知道 awk 的常用变量包括: $0 当前记录(这个变量中存放着整个行的内容) $1~$n 当前记录的第 n个字段,字段间由 FS 分隔 NF 当前记录中的字段个数,就是有多少 ...

  9. centos7删除自带openjdk

    一些开发版的centos会自带jdk,我们一般用自己的jdk,把自带的删除.先看看有没有安装java -version [root@java-test-01 ~]# java -version ope ...

  10. windows7下修改hosts文件无效解决办法(转)

    通常会为了开发方便.或者屏蔽掉一些恶意网站,我们会在hosts(c:\windows\system32\drivers\etc\hosts)文件中进行相应的域名指向,例: