zoukankan      html  css  js  c++  java
  • Python学习_03_列表、元组、字符串

    列表、元组、字符串这些通过顺序访问的对象统称为序列。

    序列的标准操作符

    对于一般的序列对象,包括列表、元组、字符串,都具有以下的标准操作:

    1. element [not] in seq判断一个元素是否属于一个序列,返回一个布尔值;

    2. seq[ind] 获得下标为ind的元素

    3. seq[ind1:ind2:step] 获得一个切片,从ind1到ind2,步长为step的元素组成的新的序列,步长为负值来表示从尾端开始;

    4.seq1 + seq2 连接两个序列;

    5.seq * expr 序列重复expr次;

    序列的索引从0开始,也可以用-n来表示最后第n个元素。

    特殊的,对于None值,如果进行切片操作,返回原序列。Python中的None值有些奇怪,他并不表示空,而且具有自己的类型NoneType,且该类无法被实例化(应该是执行了类似于添加NoneType的单件类,并且修改了new方法的操作)。

    同时序列也提供内建函数,如各种转换函数(工厂函数),以及一些可操作函数:enumerate(iter),len(seq),reversed(seq)等等

    序列的内建函数

    1 cmp():比较第一个参数是否大于第二个,字符串去ascall码

    2 len():返回序列中元素的个数

    3 max()、min():返回最大值、最小值

    4 enumerate():返回一个enumerate对象,存储每个元素的位置和值的数据对,用于循环:

    for i,t in enumerate(s):

        print i,t

    5 sorted():

    sorted()函数可以对传入的列表进行排序,只要类具有__cmp__()方法,都可以使用sorted()方法;并且可以传入一个参数,用来替代默认的__cmp__()方法,从而定制自己的排序规则:

    def cmp_ignore(x,y):
        if x.upper() > y.upper():
            return 1
        elif x.upper() < y.upper():
            return -1
        else :
            return 0
    print sorted(["aasdDEAD","BD","Abcd"])
    print sorted(["aasdDEAD","BD","Abcd"],cmp_ignore)

    若对字符串进行sorted()方法,则返回按ascall码排序后的结果

    6 reversed():返回翻转后的列表

    字符串

    除了具有序列的一半特性之外,字符串还具有一些特殊的性质。

    1格式化操作符% : format_string % arguments_to_convert,一般的格式和c语言中printf()类似,但是具有新的特性:字典类型参数,如 'This is %(name)s' % {'name':'Lyon’} 。

    2 字符串模板:对字典类型参数的格式化进行封装,而且不需要再指定输出的类型,而采用形如shell、perl中的$符号来表示需要填充的参数,就是字符串模板:Template,Template具有两个方法:substitute()和safe_substitute(),前者当缺少参数时会报错,而后者则会将字符串原封不动地显示出来:

    NewImage

    3 原始字符串操作符:

    r/R:所有的字符串都将不进行转义、插值等操作,而是原始字符串 : r’ '

    4 unicode字符串操作符:u’abc’ 表示将abc分别用unicode编码表示 , u’u1234'表示unicode编码为1234,python3之后为默认

    5 三引号:’’’ :三引号中可以包含回车换行等特殊字符

    6 字符串特有内建函数:

    string.capitalize()表示首字母大写,其他小写;string.lower(),改为小写;sting.upper(),改为大写;string.title(),所有的单词都是以大写开头,其余小写;string.split(str=“”),以str为分隔符切分等等;

    7 字符串和其他顺序访问类型不同,字符串不是容器,而是值,不可改变

    列表

    1 创建列表 :

    a = [0,1, 2, 3, 4]

    a = range(5)

    a = [0 for x in range(5)]   ## [0,0,0,0,0]

    2 内建函数:

    sum():返回列表值的和,相当于reduce(operator.add,list)

    reduce():对传入的列表按照传入的函数两两计算,如reduce(operator.add,[1,2,3,4]),则先算1+2,再将结果+3,再将结果+4,依次类推,如果加上第三个可选参数可以指定初始值

    list.append(obj):向列表中添加一个对象obj

    list.count(obj):统计obj出现次数

    list.extend(seq):将seq内容添加到list中

    list.index(obj,i=0;j=len(list)):返回obj在list中的位置

    list.insert(index,obj),在index处插入obj

    list.pop(index=-1):删除并返回指定位置的对象,默认为最后一个

    list.remove(obj),删除对象

    区别sort()、sorted()、reverse()、reversed()、extend()、extended():是否改变调用者/数值调用还是引用调用

    reversed()方法返回一个迭代器而非反向序列本身

    元组

    元组是不可变的列表,和列表比较类似


  • 相关阅读:
    adb命令(一)
    appium-DesiredCapability详解与实战
    Appium-appium日志分析
    Appium-关于appium的原生控件的 xpath 定位问题及常用方法
    Appium-xpath详解
    appium界面元素介绍
    Python3.5.1 下使用HTMLParser报错
    Python3 将configparser从ini文件中读取的内容转换成字典格式
    Django forms 关于select和checkbox设置初始选中值
    Django admin注册model究竟要怎么写才优雅
  • 原文地址:https://www.cnblogs.com/lyon2014/p/4489838.html
Copyright © 2011-2022 走看看