Python的序列Ⅱ
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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版)·修订版
以上是关于Python的序列Ⅱ的主要内容,如果未能解决你的问题,请参考以下文章