Python列表、元组、字典和字符串的常用函数

一.列表方法

1.ls.extend(object)

向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中包含3个元组),相当于ls和object合并。注意:object如果是整型,必须以列表的方式传入,不可以以整型或元组的方式传入

2.ls.append(object)

将object作为一个整体插入到ls最后,object可以是字符串,元组,列表和字典

3.ls.insert(index, object)

将object作为一个整体插入到ls指定的索引位置,object可以是字符串,元组,列表和字典

4.ls.pop([index])

删除指定索引位置的元素,返回被删除的元素,如果参数为空,则默认删除最后一个索引位置的元素。注意:有返回值

5.ls.remove(value)

删除指定的元素。注意:value是序列里面的值,不是索引

6.ls.reverse()

将列表中元素进行逆向排列

7.ls.sort(cmp=None, key=None, reverse=False)

默认将列表中元素进行升序排列,可以通过reverse参数将升序设为降序

二.列表,元组公用的方法

1.ls.count(value)

统计列表中元素value的个数

2.ls.index(value, [start, [stop]])

返回列表中指定元素所在的索引位置,可以通过start和stop参数设置搜索范围。注意:如果不存在则会报出异常

三.字典方法

1.dic.clear()

删除字典中所有项

2.dic.fromkeys(S[,v])

新建字典,键为S,值为v,如果S为长字符串,返回的键为字符串中的每一个字符,值将重复。注意:dic字典中的项不会改变

3.dic.get(k[,d])

获取字典中指定键的值,如果k不属于字典中的键,则返回None。注意:相当于dic[k],但是dic[k]如果k不属于字典中的键,则报出异常

4.dic.setdefault(k[,d])

类似于dit.get(k,d)方法,如果k属于字典中的键,则返回对应的值,否则,将往字典中插入键值

5.dic.has_key(k)

返回字典中是否包含键k,返回值为True和False

6.dic.items()

以列表的形式返回字典中的键值,每一对键值存放在元组中

7.dic.keys()

以列表的形式返回字典所有键

8.dic.values()

以列表的形式返回字典中所有值(values)

9.dic.iteritems()

键值迭代器,一般用于for循环

10.dic.iterkeys()

键迭代器,一般用于for循环

11.dic.itervaleus()

值迭代器,一般用于for循环

12.dic.viewitems()

返回字典中键值的视图,单个键值对存放在元组中,所有键值对存放在列表中,返回类型为dict_items,也可以作为迭代用于for循环

13.dic.viewkeys()

返回字典中键的视图,单个键存放在元组中,所有键存放在列表中,返回类型为dict_items,也可以作为迭代用于for循环

14.dic.viewvalues()

返回字典中值的视图,单个值存放在元组中,所有值存放在列表中,返回类型为dict_items,也可以作为迭代用于for循环

15.dic.pop(k[,d])

删除字典中指定键的值,并返回被删除键的对应值

16.dic.popitem()

随机删除某个键值对,并返回被删除键的对应值,无需往方法中传入参数

17.dic.update([E, ]**F)

将字典E中的键值对更新到dic中,相当于列表dic和列表E 合并后更新到列表dic中

18.dic.copy()

浅复制:只复制字典中的父对象,对子对象采取引用的办法。改变子对象的内容会影响到复制和被复制的字典。

例:

 a ={'name':'ali','age':20,'score':[10,20,30]}
b = a.copy()
b['name'] = 'bai'
b['score'].remove(20)
print b
print a

输出结果:

{'age': 20, 'score': [10, 30], 'name': 'bai'}
{'age': 20, 'score': [10, 30], 'name': 'ali'}

四.字符串方法

#字母处理

1.string.capitalize()

返回元字符串,且将字符串第一个字母转为大写,其它字母小写

2.string.title()

返回元字符串,且将字符串第一个字母转为大写,其它字母小写

3.string.swapcase()

用于对字符串的大小写字母进行转换,小写字符转为大写,大写字母转为小写

4.string.upper()

将字符串全部转为大写

5.string.lower()

将字符串全部转为小写

#去除空格或者指定字符串

1.string.strip([string])

去除字符串中首尾的字符串,不带参数默认去除空格

2.string.lstrip([string])

去除字符串左边字符串,不带参数默认去除空格

3.string.rstrip([string])

去除字符串右边字符串,不带参数默认去除空格

#格式化对齐

1.string.center(width[, fillchar])

返回一个原字符串居中对齐,width为总长度,两边用一个字符fillchar填充,如果指定的长度小于原字符串的长度则返回原字符串。注意:如果fillchar超过1个长度或为非字符串或为汉字,则会报出异常

2.string.ljust(width[, fillchar])

返回原字符串左对齐,并使用空格填充至指定长度的新字符串,如果指定的长度小于原字符串的长度则返回原字符串。注意:如果fillchar超过1个长度或为非字符串或为汉字,则会报出异常

3.string.rjust(width[, fillchar])

返回原字符串右对齐,并使用空格填充至指定长度的新字符串,如果指定的长度小于字符串的长度则返回原字符串。注意:如果fillchar超过1个长度或为非字符串或为汉字,则会报出异常

4.string.zfill()

返回指定长度的字符串,原字符串右对齐,前面填充0

#替换

1.string.replace(old, new[, count])

用新的字符替换老字符,还可以指定替换的个数,默认全部替换

2.string.expandtabs([n])

将字符串中(tab符号)\t转换成n个空格

#字符串搜索

1.string.find(sub [,start [,end]])

返回sub字符串第一次出现的索引位置,可以通过start和stop参数设置搜索范围,如果未找到sub时返回-1

2.string.rfind(sub [,start [,end]])

返回sub字符串最后一次出现的索引位置,如果没有匹配项则返回-1,可以通过start和stop参数设置搜索范围

3.string.index(sub [,start [,end]])

类似于string.find()方法。注意:未找到sub时会报出异常

4.string.rindex(sub [,start [,end]])

类似于string.rfind()方法。注意:未找到sub时会报出异常

#字符串分割

1.string.split([sep [,maxsplit]])

用来根据指定的分隔符将字符串进行分割,不包含分隔符,结果存为列表,不指定sep时,默认将将空格作为分隔符

2.string.partition(sep)

用来根据指定的分隔符将字符串进行分割,分割点为首次出现sep的地方,且包含分隔符,结果存为元组,且固定为3个元素,如果sep不存在字符串中,则后面2个元素为空

3.string.rpartiton()

用来根据指定的分隔符将字符串进行分割,分割点为最后一次出现sep的地方,且包含分隔符,结果存为元组,且固定为3个元素,如果sep不存在字符串中,则前面2个元素为空

#字符串判断

1.string.isupper()

返回字符串中是否全为大写 --> True/False

2.string.islower()

返回字符串中是否全为小写 --> True/False

3.string.isdigit()

返回字符串中是否只包含数字 --> True/False

4.string.isalpha()

返回字符串中是否只包含字母 --> True/False

5.string.isalnum()

返回字符串中是否只包含字母或数字 --> True/False

6.string.isspace()

返回字符串中是否只包含空格(tab也算空格) --> True/False

7.string.istitle()

返回字符串中首字母是否大写 --> True/False

8.string.startswith(prefix[, start[, end]])

返回字符串是否以某字符串开始,可以通过start和stop参数设置搜索范围

9.string.endswith(suffix[, start[, end]])

返回字符串是否以某个字符串结束 可以通过start和stop参数设置搜索范围

#其它

1.string.count(sub[, start[, end]])

计数字符串中某子集的数量,可以通过start和stop参数设置搜索范围

2.len(string)

获取字符串的长度

3.list(string)

字符串转列表

4.string.join(iterable)

列表转字符串,用于将序列中的元素以指定的字符string连接生成一个新的字符串。注意:iterable只能是字符串类型,否则会报出异常

5.string.encode(encoding='UTF-8',errors='strict')

以 encoding 指定的编码格式编码字符串

6.string.decode(encoding='UTF-8',errors='strict')

解码字符串,出错默认报ValueError,除非errors是ignore或replace

7.string.translate(table [,deletechars])

根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到deletechars参数中

例:

 #!/usr/bin/python
#coding:utf8
import string
intab = "abcd"
outtab = ""
tab = string.maketrans(intab,outtab)
strs = "abcd####abcdefg"
print strs.translate(tab)
print strs.translate(tab,'ab')

输出结果:

1234####1234efg
34####34efg

8.string.format(*args, **kwargs)

它通过{}和:来代替%

“映射”示例:

通过位置

 print '{0}#{1}'.format('YYY',10)
print ('{}'+'#'+'{}').format('YYY','NNN')
print '{1}#{0}#{1}'.format('YYY','NNN')

输出结果:

YYY#
YYY#NNN
NNN#YYY#NNN

通过关键字参数

 str1 ='{name}'+' is '+'{age}'
print str1.format(name='ali',age=20)

输出结果:

ali is 20

通过对象属性

 class students():
def __init__(self,name,age):
self.name,self.age = name,age def __str__(self):
str1 = '{self.name}'+' is '+'{self.age}'
return str1.format(self=self) print str(students("ali",20))

输出结果:

ali is 20

通过下标

 name = ['ali','baidu']
age = [10,20]
str1 = '{0[0]},{0[1]}'+' are '+'{1[0]},{1[1]}'
print str1.format(name,age)

输出结果:

ali,baidare 10,20

有了这些便捷的“映射”方式,我们就有了偷懒利器。基本的python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。

格式限定符

它有着丰富的的“格式限定符”(语法是{}中带:号)

比如:填充与对齐

填充常跟对齐一起使用
   ^、<、>分别是居中、左对齐、右对齐,后面带宽度
   :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充,效果相当于字符串函数center,ljust和rjust。

例:

 print '{:a^10}'.format('')
print ''.center(10,'a')
print '{:a<10}'.format('')
print ''.ljust(10,'a')
print '{:a>10}'.format('')
print ''.rjust(10,'a')

输出结果:

aaa123aaaa
aaa123aaaa
123aaaaaaa
123aaaaaaa
aaaaaaa123
aaaaaaa123

精度与类型

精度常跟类型f一起使用

 print '{:.2f}'.format(123.456)

输出结果:

123.46

其中.2表示长度为2的精度,f表示float类型。

分隔符用,号还能用来做金额的千位分隔符。

 print '{:,}'.format(123456789)

输出结果:

123,456,789

其他类型

主要就是进制了b、d、o、x分别是二进制、十进制、八进制、十六进制。

 print '{:b}'.format(17)
print '{:d}'.format(17)
print '{:o}'.format(17)
print '{:x}'.format(17)

输出结果:

10001
17
21
11

Python列表、元组、字典和字符串的常用函数的更多相关文章

  1. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  2. Python列表,元组,字典,字符串方法笔记

    01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

  3. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  4. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  5. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  6. Python 列表,元组,字典

    0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...

  7. Python列表,元组,字典,集合详细操作

    菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...

  8. Python 列表&元组&字典&集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

  9. Python列表,字典和字符串操作

    列表: 列表:list, 也叫数组,表现[].特点:有角标,元素可以重复,有序的元素 例子:stus = ['王志华','乔美玲','乔美玲','王文文','feixiang']#中括号,这就是一个l ...

随机推荐

  1. C++ ODB 框架(未实践使用)

    http://www.codesynthesis.com/products/odb/doc/manual.xhtml#17.1

  2. 花生壳动态IP域名解析之python自动提交公网IP

    #!/usr/bin/env python import re import os import time import random ip_current = '' while True: myip ...

  3. 放松跑、间歇跑、节奏跑和LSD

    放松跑(easy run),顾名思义,是没有负担的跑步,通常用于高强度训练之间,让机能得到恢复. 间歇跑(intervals),又叫变速跑,通常是用高于实际比赛速配速的速度进行反复短距离的快跑,当中配 ...

  4. rpc框架: thrift/avro/protobuf 之maven插件生成java类

    thrift.avro.probobuf 这几个rpc框架的基本思想都差不多,先定义IDL文件,然后由各自的编译器(或maven插件)生成目标语言的源代码,但是,根据idl生成源代码这件事,如果每次都 ...

  5. visual studio 2012 的制作ActiveX、打包和发布

    开发环境是Vs 2012  Framework 4.0 源码和制作工具在文章最下边 一. ActiveX控件Demo 新建一个Window窗体控件库项目 在自动生成的UserControl1页面上添加 ...

  6. Adblock Plus for firefox

    关于 Adblock Plus for firefox(以下简称 ABP)的一些笔记. 安装好 ABP,将如下代码保存为 html 文件,然后在 firefox 中打开: <p id=" ...

  7. DOM 概况

    DOM(文档对象模型)是针对 HTML 和 XML 文档的一个API(应用程序编程接口).DOM 描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分. 层次节点 DOM可以将任何 H ...

  8. 我的微型工作流引擎-功能解析及API设计

    一.前言 上一篇我给大家介绍了我的工作流的模型和基本的设计,这篇我想详细说明下我这款工作流的功能及使用示例.这款工作流主要是面向开发者设计的,为了先让大家有个全局的认识,局部功能的设计实现就不细说了, ...

  9. Unity 5.3.1 No Android/IOS module loaded

    unity我一直在用5.0以下的版本 昨天升级到了最新版本5.3.1 发现无法打android包,ios也不行 提示“No Android/IOS module loaded” 下面有个Module ...

  10. 项目规范性检测工具Lint

    项目规范性检测工具lint.bat 一.Lint基本概念介绍 Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发 ...