zoukankan      html  css  js  c++  java
  • 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

    输出结果:

    {'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符号) 转换成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 = "1234"
    6 tab = string.maketrans(intab,outtab)
    7 strs = "abcd####abcdefg"
    8 print strs.translate(tab)
    9 print strs.translate(tab,'ab')
    复制代码

    输出结果:

    1234####1234efg
    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')

    输出结果:

    YYY#10
    YYY#NNN
    NNN#YYY#NNN

    通过关键字参数

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

    输出结果:

    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))
    复制代码

    输出结果:

    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)

    输出结果:

    ali,baidare 10,20

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

    格式限定符

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

       比如:填充与对齐

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

    例:

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

    输出结果:

    aaa123aaaa
    aaa123aaaa
    123aaaaaaa
    123aaaaaaa
    aaaaaaa123
    aaaaaaa123

    精度与类型

       精度常跟类型f一起使用

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

    输出结果:

    123.46

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

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

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

    输出结果:

    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)

    输出结果:

    10001
    17
    21
    11
  • 相关阅读:
    为什么我们不要 .NET 程序员
    Jquery异步请求数据实例代码
    关系数据库中表的基本属性有哪些
    利用VC从DLL传递消息到EXE
    新实体与原实体之间为一对多关系
    本人C++ Builder开发的仿Windows桌面应用程序源码
    delphi窗体动态设计 在系统运行时动态更改控件属性
    DB.ASP 用Javascript写ASP很灵活很好用很easy
    CrazyScan Satellite scan software 卫星扫描
    delphi中窗体半透明效果如何实现
  • 原文地址:https://www.cnblogs.com/zyber/p/9574050.html
Copyright © 2011-2022 走看看