• Python的序列Ⅱ


    • 字符串

    所有标准的序列操作对字符串同样适用,但是字符串是不可变的。

    字符串格式化:

    #示例
    >>> 'num is: %d' % 18
    'num is: 18'
    
    >>> 'str is %s' % 'string'
    'str is string
    
    #字段宽度和精度及'*'的作用
    
    >>> '%10f' % math.pi #宽度10
    '  3.141593'
    >>> '%.10f' % math.pi#精度10
    '3.1415926536'
    
    >>> '%10.2f' % math.pi#宽度10精度2
    '      3.14'
    
    >>> '%.*f' % (5,math.pi)
    '3.14159'
    >>> '%*f' % (5,math.pi)
    '3.141593'
    ##字符宽度和精度值之前还可以放置一个'标志'
    >>> '%010.2f' % math.pi #这里的0表示将会用0填充
    '0000003.14'
    >>> '%-10.2f' % math.pi#'-'表示左对齐
    '3.14      '
    >>> '%+10f' % math.pi '+'表示在正数前显示+' +3.141593'

    字符串方法(内建函数)

     #find(str, beg=0 end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
    >>> str = 'taking off tight shoes'
    >>> str.find("off")
    7
    >>> str.find("off",8,15)
    -1
    
    #join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
    >>> s1 = '/'
    >>> seq = ['','User','jm','Desktop']
    >>> s1.join(seq)
    '/User/jm/Desktop'
    
    #lower() 转换字符串中所有大写字符为小写.
    >>> s1 = 'HELLO,WORLD!'
    >>> s1.lower()
    'hello,world!'
    >>> s1.title() #首字母大写
    'Hello,World!'
    
    #replace(old, new [, count]) 将字符串中的 str1 替换成 str2,如果 count指定,则替换不超过 count次。
    
    >>> s2 = 'fake-smile jail cells'
    >>> s2.replace('l','xxx')
    'fake-smixxxe jaixxx cexxxxxxs'
    >>> s2.replace('l','xxx',2)
    'fake-smixxxe jaixxx cells'
    
    #split(str="", num=string.count(str)) num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串
    >>> s3 = 'User/jm/Desktop'
    >>> s3.split('/')
    ['User', 'jm', 'Desktop']
    
    #    
    strip([chars]) 在字符串上执行 lstrip()和 rstrip()(移除字符串头尾指定的字符)
    >>> s4 = '***Hello,***world***'
    >>> s4.strip('*')
    'Hello,***world'
    
    # translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。
    table = str.maketrans('cd','ef') #maketrans() 方法用于创建字符映射的转换表
    >>> s5 = 'abcdefghijklmnopqrstuvwxyz'
    >>> s5.translate(table)
    'abefefghijklmnopqrstuvwxyz'
    #
    >>> bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')   
    >>> s6.translate(bytes_tabtrans,b't')
    b'HP://WWW.CNBLOGS.COM/TABBY/'
    • 字典

    基础知识

    #创建及使用字典
    >>> dic = {'Jameson':'1001','Jack':'1002','Abel':'1003'}#创建
    #使用dict()创建字典
    >>> arr = [('name','jack'),('num',1001)]
    >>> dic2 = dict(arr)
    >>> dic2
    {'num': 1001, 'name': 'jack'}
    #或
    >>> dic3 = dict(name='jack',num='1001')
    >>> dic3
    {'num': '1001', 'name': 'jack'}
    
    #使用
    >>> dic['Abel']
    '1003'
    
    >>> "Jack's num is %(Jack)s." % dic
    "Jack's num is 1002."
    
    
    >>> dic["Jack"] = 1005 #修改
    >>> dic["Berg"] = 1007 #增加
    >>> dic
    {'Abel': '1003', 'Jack': 1005, 'Jameson': '1001', 'Berg': 1007}

    字典方法

    #clear() 删除字典内所有元素
    >>> dic2 = {'num': 1001, 'name': 'jack'}
    >>> dic2.clear()
    >>> dic2
    {}
    
    #copy() 复制字典
    >>> dic4 = dic#这样也可以
    >>> dic4
    {'Abel': '1003', 'Jack': 1005, 'Jameson': '1001', 'Berg': 1007}
    >>> dic5 = dic.copy()
    >>> dic5
    {'Abel': '1003', 'Jack': 1005, 'Jameson': '1001', 'Berg': 1007}
    
    >>> dic["Jack"] = 1009#修改下dic的值试试
    
    >>> dic4
    {'Abel': '1003', 'Jack': 1009, 'Jameson': '1001', 'Berg': 1007}#浅复制
    >>> dic5
    {'Abel': '1003', 'Jack': 1005, 'Jameson': '1001', 'Berg': 1007}#深复制
    
    #fromkeys(seq[, value])) 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    >>> dict.fromkeys(['name','age'])
    {'age': None, 'name': None}
    >>> dict.fromkeys(['name','age'],'unknown')
    {'age': 'unknown', 'name': 'unknown'}
    
    #get(key, default=None) 返回指定键的值,如果值不在字典中返回默认值。
    
    #另外,检查字典是否有某键用in
    >>> 'Jack' in dic
    True
    >>> 'name' in dic
    False
    
    #items() 以列表返回可遍历的(键, 值) 元组数组
    >>> dic.items()
    dict_items([('Abel', '1003'), ('Jack', 1009), ('Jameson', '1001'), ('Berg', 1007)])
    
    #keys() 以列表返回一个字典所有的键
    >>> dic.keys()
    dict_keys(['Abel', 'Jack', 'Jameson', 'Berg'])
    
    #pop 获得给定键的值,然后将其从字典中移除(del,remove,pop,hah好多呀)
    >>> dic.pop("Jack")
    1009
    >>> dic
    {'Abel': '1003', 'Jameson': '1001', 'Berg': 1007}
    
    #popitem() 随机返回并删除字典中的一对键和值.
    >>> dic.popitem()
    ('Abel', '1003')
    >>> dic
    {'Jameson': '1001', 'Berg': 1007}
    
    #setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    >>> dic.setdefault("Carl ")
    >>> dic
    {'Carl ': None, 'Jameson': '1001', 'Berg': 1007}
    
    #values() 以列表返回字典中的所有值
    >>> dic.values()
    dict_values([None, '1001', 1007])
    
    #update(dic2) 把字典dict2的键/值对更新到dict里
    >>> dic6 = {'Name': 'Runoob', 'Age': 7}
    >>> dic7 = {'Sex': 'female' }
    >>> dic6.update(dic7)
    >>> dic6
    {'Sex': 'female', 'Name': 'Runoob', 'Age': 7}

     注:参考《Python基础教程》(第2版)·修订版

    c
  • 相关阅读:
    设置材质球的材质,是第几个
    转载渲染。
    系统的时间调不错,就是界面躁动太多,要是允许话还是在自己的界面中加入比较薄, 不过这个很方便。
    清除poly修改器的脚本,效果还好。
    不用string了用getFilenameFile 函数 索引名字更快
    判断平pickbutton 节点是否被删除, 这个事件放在点击事件之内。
    字符串加入到数组的号办法。
    收集每个mesh 面的id 号, 这个很有用,可以用来查找物体共有几个id 效果好。
    Evervolv android 源码编译
    zoj 2112 Dynamic Rankings(SBT in SegTree)
  • 原文地址:https://www.cnblogs.com/Tabby/p/7487790.html
Copyright © 2020-2023  润新知