设为首页 收藏本站
查看: 1471|回复: 0

[经验分享] python字符串和字典

[复制链接]

尚未签到

发表于 2015-4-26 10:17:35 | 显示全部楼层 |阅读模式
  
很多序列的方法字符串同样适用,
但是,字符串是不可变的,所以一些试图改变字符串的方法是不可用的
1 字符串格式化
1)用元组或者字典格式化字符串
    format = "hello,%s.s% enough for you?"
    values = ('world','Hot')
    format % values
    跟C格式化类似
2)模板字符串
    string模块提供了模板字符串来格式化字符串
    from string import Template
    s = Template($x,glorious $x!)
    s.substitute(x = 'slurm')
    将x用slurm替换
    一些详细的技巧用法略

    格式化转换类型,字段宽度精度,符号位,对齐,填充等参加一些手册

2 字符串方法
    1)find
        查找子字符串,返回最左端索引
        s.find(subs)
    2)join
        连接字符串
    3)lower
    4)replace
        所有匹配项均被替代   
    5)split
        分割字符串 分隔符不包含
    .........
    ..........

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

字典中的值没有特定的顺序
key可以是数字,字符串,元组(必须是不可变类型,不能是列表)
phonebook = {'jmz':'5153','usr1':'1234','usr2':'4321'}
1) dict函数
    通过其他映射或者键值序列来建立字典:
    用包含2个元组的列表来建立字典:
    items = [('key1','value1'),('key2','value2'),('key3','value3')]
    d = dict(items)
    {'key1':'value1','key2':'value2','key3':'value3'}  可能不是这个顺序
    通过关键字参数来创建字典:
    d = dict(key1 = 'value1',key2 = 'value2',key3 = 'value3')
    也将得到上述结果
    dict函数不是真正的函数,它是个类型,类似于list,tuple,str一样。
2)基本的字典操作
    假设d是一个字典:
        len(d)字典长度
        d[key]字典中键key的值
        d[key] = value 赋值(不存在key就自动添加)
        del d[key] 删除键为key的项
        key in d  检查是否在字典中
3)字典也可以用来格式化
    在每个转换说明符(%)后面加上键(用圆括号括起来)再跟上其他说明符:
    例如:%(value)s
    phonebook = {'jmz':'5153','usr1':'10086'}
    "jmz's phone number is %(jmz)s." % phonebook
    用这种方式只要给出的键能够在字典中找到,就可以获得任意数量的转换说明符。
4)一些字典方法
    clear:
        原地操作(无返回值),清除字典中所有项
    copy:浅复制和深复制
        y = x.copy()
        y = deepcopy(x)
    fromkeys:
        使用给定的键建立新的字典:默认值是None
        >>>{}.fromkeys(['key1','key2'])
        >>>{'key1':None,'key2':None}
        或者:
        >>>dict.fromkeys(['key1','key2'])
        一样的效果
    get:
        一般来说,范文不错在的字典项会出错,如:
        >>>print d[name]
        而
        >>>print d.get('name')就会默认返回None
    has_key:
        返回True或者False
        >>>d.has_key('jmz')
    items和iteritems:
        items方法将字典的项目以列表方法返回:
        d = {'key1':'value1','key2':'value2'}
        >>>d.items()
        >>>[('key1','value1'),('key2','value2')]
        iteritems返回的是针对items的迭代对象
        >>>it = d.iteritems()  #it是上述列表的迭代器对象
        >>>list(it)        #可以将迭代器转换成列表
        >>>[('key1','value1'),('key2','value2')]      

    keys和iterkeys:
        将键以列表形式返回,键的迭代器
    pop:
        d.pop('key') 有返回值,并移除
    popitem:
        d.popitem() 弹出随机的项目,因为字典是无序的
    setdefault:
        >>>d.setdefault('key','default_value')
        当key不存在时,返回默认值并更新字典,若key已经存在,就返回它的值,不更新字典,相当于这句话没作用
    update:
        利用一个字典去更新另一个字典:
        >>>d.update(dd)
        将dd中的项目添加到d中去,如果重复,就覆盖。
    values和itervalues:
        返回值的列表,值的列表的迭代器。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-60799-1-1.html 上篇帖子: Python天天美味(12) 下篇帖子: Python学习之一:语言的选择以及WingIDE破解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表