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()

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

例:

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

输出结果:

  1. {'age': 20, 'score': [10, 30], 'name': 'bai'}
  2. {'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参数中

例:

  1. #!/usr/bin/python
  2. #coding:utf8
  3. import string
  4. intab = "abcd"
  5. outtab = ""
  6. tab = string.maketrans(intab,outtab)
  7. strs = "abcd####abcdefg"
  8. print strs.translate(tab)
  9. print strs.translate(tab,'ab')

输出结果:

  1. 1234####1234efg
  2. 34####34efg

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

它通过{}和:来代替%

“映射”示例:

通过位置

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

输出结果:

  1. YYY#
  2. YYY#NNN
  3. NNN#YYY#NNN

通过关键字参数

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

输出结果:

  1. ali is 20

通过对象属性

  1. class students():
  2. def __init__(self,name,age):
  3. self.name,self.age = name,age
  4.  
  5. def __str__(self):
  6. str1 = '{self.name}'+' is '+'{self.age}'
  7. return str1.format(self=self)
  8.  
  9. print str(students("ali",20))

输出结果:

  1. ali is 20

通过下标

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

输出结果:

  1. ali,baidare 10,20

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

格式限定符

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

比如:填充与对齐

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

例:

  1. print '{:a^10}'.format('')
  2. print ''.center(10,'a')
  3. print '{:a<10}'.format('')
  4. print ''.ljust(10,'a')
  5. print '{:a>10}'.format('')
  6. print ''.rjust(10,'a')

输出结果:

  1. aaa123aaaa
  2. aaa123aaaa
  3. 123aaaaaaa
  4. 123aaaaaaa
  5. aaaaaaa123
  6. aaaaaaa123

精度与类型

精度常跟类型f一起使用

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

输出结果:

  1. 123.46

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

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

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

输出结果:

  1. 123,456,789

其他类型

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

  1. print '{:b}'.format(17)
  2. print '{:d}'.format(17)
  3. print '{:o}'.format(17)
  4. print '{:x}'.format(17)

输出结果:

  1. 10001
  2. 17
  3. 21
  4. 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. luogu1097统计数字[noip2007提高组Day1T1]

    题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出 ...

  2. uva10160 Servicing Stations

    The input consists of more than one description of town (but totally, less than ten descriptions). E ...

  3. P1835 素数密度_NOI导刊2011提高(04)

    题目描述 给定区间[L,R](L≤R≤2147483647,R-L≤1000000),请计算区间中素数的个数. 输入输出格式 输入格式: 两个数L和R. 输出格式: 一行,区间中素数的个数. 输入输出 ...

  4. [转]Gson过滤字段

    原文地址:http://my.oschina.net/orgsky/blog/368768 摘要 Gson过滤字段 Gson过滤字段 Gson 过滤 字段 属性 目录[-] 最简单的用法 方法1:排除 ...

  5. top状态及其常用技巧

    看tcp状态 /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}'   在 top 状态下,按 "shif ...

  6. Java类加载和类反射回顾

    今天学习Spring,突然想重新复习一下Java类加载和类反射的.巩固一下底层原理.部分参考了李刚老师的<疯狂Java讲义>和陈雄华.林开雄的<Spring3.x企业应用开发实战&g ...

  7. redis 学习笔记(2)-client端示例代码

    redis提供了几乎所有主流语言的client,java中主要使用二种:Jedis与Redisson 一.Jedis的使用 <dependency> <groupId>redi ...

  8. [C]基本数据类型:整型(int)用法详解

    1.整型int C语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int是整型之一,一般被称为整型.以后,在不产生歧义的情况下,我们把整数类型和int都称为整 ...

  9. 工作随笔——Intellij_idea-14官方快捷键中文版

    听说Intellij Idea好几年了.因为快捷键的原因,所以一直没有放弃eclipse.上周末抽了点时间,用google翻译+自己实践翻译了一下官方的快捷键. 基本做完的时候在百度文库上突然搜索到一 ...

  10. VS条件断点的一个坑

    今天早上要调试一个方法,所以在方法的入口处也就是’{’打了一个条件断点,可是随后就发现对这个方法的调用都无法获得正确的结果了,不管传递什么参数,方法的返回值都一样,而且这个返回值与输入的参数完全无关, ...