美文网首页python核心编程第二版
python核心编程第二版:第六章--序列:字符串、列表和元组

python核心编程第二版:第六章--序列:字符串、列表和元组

作者: Bioconductor | 来源:发表于2016-08-08 16:01 被阅读14次
    • 访问次序


      访问次序

    6.1 序列

    • 访问模式:它的每一个元素可以通过指定的一个偏移量的方式得到。而多个元素可以通过切片操作的方式一次得到,下标偏移量从0开始到总元素数-1结束。

    6.1.1 标准类型操作符

    适用于所有的序列类型

    6.1.2 序列类型操作符

    • 成员关系操作符
      in ,not , in 返回值为 True / False

    语法:

    • obj [not ] in sequence

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

    • seq[ind1 : ind2] 获得下标从ind1到ind2间的元素集合

    • seq * expr 序列重复expr次

    • seq1 + seq2 连接序列seq1 和 seq2

    • obj in seq 判断obj 元素是否包含在seq中

    • obj not in seq 判断obj 元素是否不包含在seq中

    • 连接操作符(+)
      把一个序列和另一个相同类型的序列做连接

    • 重复操作符(*)
      把一个序列多次拷贝

    • 切片操作符([],[ : ], [ : ; ])
      用方括号加一个下标的方式访问它的每一个元素,或者通过在方括号中用冒号把开始下标和结束下标分开的方式来访问一组连续的元素。

    例子

    names = ('Faye','Leanna','Daylen')
    print names[2]
    
    names = ('Faye','Leanna','Daylen')
    print names[:]
    
    names = ('Faye','Leanna','Daylen')
    print names[::]
    

    例子: 翻转

    s = 'abcdefgh'
    print  s[::-1]
    
    

    例子:比较

    s = 'abcde'
    for i in [None] + range(-1,-len(s),-1):
        print s[:i],
    

    结果

    abcde abcd abc ab a
    
    

    例子

    for i in range(-1,-len(s),-1):
        print s[:i],
    

    结果

    abcd abc ab a
    
    

    6.1.3 内建函数

    类型转换

    • list列表
    • str字符
    • tuple元组
    • reversed(seq) 返回一个以逆序访问的迭代器
    • zip() 返回一个列表

    例子

    a = range(3)
    b = range(5)
    print zip(a,b)
    

    结果

    [(0, 0), (1, 1), (2, 2)]
    
    • 字符串的创建和赋值

    例子

    a = 'Hello World!' 
    print a
    

    结果

    Hello World!
    
    • 访问字符串的值

    例子

    a = 'Hello World!'
    print a[1]
    

    结果

    e
    
    • 改变字符串

    结果

    a = 'Hello World!'
    print a[:5] + 'python!'
    

    结果

    Hellopython!
    

    删除字符和字符串

    • 方法一:

    例子

    a = 'Hello World!'
    print a[:3] + a[4:]
    

    结果

    Helo World!
    
    
    • 方法二:

    例子

    a = 'Hello World!'
    del a
    

    6.3 字符串和操作符

    6.3.1 标准类型操作符

    • 按照ASCII值来比较大小
    • < !=

    6.3.2 序列操作符

    • 切片[] 和 [:]
      正向索引 、 反向索引 、默认索引

    • 成员操作符(in , not in)

    • 连接符(+)

    例子

    print 'Spanish' + 'Inquisition'
    print 'Spanish' + ' ' +  'Inquisition'
    

    结果

    SpanishInquisition
    Spanish Inquisition
    
    • join

    例子

    s  = ' '.join(('Spanish','Inquisition','Made Easy'))
    print s
    

    结果

    Spanish Inquisition Made Easy
    
    • 普通字符串转化为Unicode字符串

    例子

    print 'Hello' +  u' ' +  'World' +  u'!'
    

    结果

    Hello World!
    
    • 重复操作符(*)

    • 十六进制输出

    例子

    print "%x" % 108 ,"%X" % 108 , "%#X" % 108 ,"%#x" % 108
    

    结果

    6c 6C 0X6C 0x6c
    
    • 浮点数和科学计数法的输出

    例子

    print '%f' % 1234.567890
    print '%.2f' % 1234.567890
    print '%E' % 1234.567890
    print '%e' % 1234.567890
    print '%g' % 1234.567890
    print '%G' % 1234.567890
    
    • 整数和字符串输出

    例子

    print "%+d" % 4
    print "%+d" % -4
    print "we are at %d%%" % 100
    print 'Your host is: %s' % 'earth'
    

    结果

    +4
    -4
    we are at 100%
    Your host is: earth
    

    6.5 内建函数

    • cmp() 根据字符串的ASCII码值进行比较

    例子

    str1 = 'abc'
    str2 = 'lmn'
    str3 = 'xyz'
    print  cmp(str1, str2),cmp(str3,str1),cmp(str2,'lmn')
    

    结果

    -1 1 0
    
    • len()
    • max () and min ()
      对于字符,返回ASCII码值最小的字符

    例子

    enumerate()
    s = 'foobar'
    for i,t in enumerate(s):
        print i,t
    

    结果

    0 f
    1 o
    2 o
    3 b
    4 a
    5 r
    

    例子

    zip()
    s,t = 'foa','obr'
    print zip(s,t)
    

    结果

    [('f', 'o'), ('o', 'b'), ('a', 'r')]
    
    • raw_input()
      提示用户输入

    • 列表、元组

    • 列表 [] list

    • 元组 () tuple

    相关文章

      网友评论

        本文标题:python核心编程第二版:第六章--序列:字符串、列表和元组

        本文链接:https://www.haomeiwen.com/subject/stjrsttx.html