1. 列表、元组操作
定义列表
names = ['felix','jack li','danie']
通过下标访问列表中的元素,如 names[0]
切片:取多个元素
1 >>> names = ["felix","Tenglan","Eric","Rain","Tom","Amy"] 2 >>> names[1:4] #取下标1至下标4之间的数字,包括1,不包括4 3 ['Tenglan', 'Eric', 'Rain'] 4 >>> names[1:-1] #取下标1至-1的值,不包括-1 5 ['Tenglan', 'Eric', 'Rain', 'Tom'] 6 >>> names[0:3] 7 ['felix', 'Tenglan', 'Eric'] 8 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样 9 ['felix', 'Tenglan', 'Eric'] 10 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写 11 ['Rain', 'Tom', 'Amy'] 12 >>> names[3:-1] #这样-1就不会被包含了 13 ['Rain', 'Tom'] 14 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个 15 ['felix', 'Eric', 'Tom'] 16 >>> names[::2] #和上句效果一样 17 ['felix', 'Eric', 'Tom']
追加
1 names = ['felix','tom','jack','xie','amy'] 2 names.append("新来的") 3 names 4 ['felix', 'tom', 'jack', 'xie', 'amy', '新来的']
插入
1 names 2 ['felix', 'tom', 'jack', 'xie', 'amy', '新来的'] 3 names.insert(2,"从jack前面插入") 4 names 5 ['felix', 'tom', '从jack前面插入', 'jack', 'xie', 'amy', '新来的']
修改
1 names 2 ['felix', 'tom', '从jack前面插入', 'jack', 'xie', '从amy前插入', 'amy', '新来的'] 3 names[2] ="wilson" 4 names 5 ['felix', 'tom', 'wilson', 'jack', 'xie', '从amy前插入', 'amy', '新来的']
删除
1 names 2 ['felix', 'tom', 'wilson', 'jack', 'xie', '从amy前插入', 'amy', '新来的'] 3 del names[1] 4 names 5 ['felix', 'wilson', 'jack', 'xie', '从amy前插入', 'amy', '新来的'] 6 names.remove("从amy前插入") #删除指定元素 7 names 8 ['felix', 'wilson', 'jack', 'xie', 'amy', '新来的'] 9 names.pop() #删除最后一个元素值 10 '新来的' 11 names 12 ['felix', 'wilson', 'jack', 'xie', 'amy']
扩展
1 names 2 ['felix', 'wilson', 'jack', 'xie', 'amy'] 3 test =[1,2,3,4,5] 4 names.extend(test) 5 names 6 ['felix', 'wilson', 'jack', 'xie', 'amy', 1, 2, 3, 4, 5]
拷贝
1 names 2 ['felix', 'wilson', 'jack', 'xie', 'amy', 1, 2, 3, 4, 5] 3 aa = names.copy() 4 aa 5 ['felix', 'wilson', 'jack', 'xie', 'amy', 1, 2, 3, 4, 5]
统计
1 names 2 ['felix', 'wilson', 'jack', 'felix', 'xie', 'amy', 'xie', 1, 2, 3, 4, 'felix', 5] 3 names.count('felix') 4 3
排序&翻转
1 names 2 ['amy', 'felix', 'felix', 'jack', 'wilson', 'xie', 'xie', '1', '2', '3', '4', 'felix', '5'] 3 names.sort() 4 names 5 ['1', '2', '3', '4', '5', 'amy', 'felix', 'felix', 'felix', 'jack', 'wilson', 'xie', 'xie'] 6 names.reverse() 7 names 8 ['xie', 'xie', 'wilson', 'jack', 'felix', 'felix', 'felix', 'amy', '5', '4', '3', '2', '1']
获取下标
1 names 2 ['xie', 'xie', 'wilson', 'jack', 'felix', 'felix', 'felix', 'amy', '5', '4', '3', '2', '1'] 3 names.index('jack') 4 3
元组
元组是组只读的列表数据
1 name 2 ('xie', 'xie', 'wilson', 'jack', 'felix', 'felix', 'felix', 'amy', '5', '4', '3', '2', '1') 3 name.index('xie') 4 0 5 name.count('felix') 6 3
2. 字符串操作
特性:不可修改
name.capitalize() 首字母大写 name.casefold() 大写全部变小写 name.center(50,"-") 输出 '---------------------Alex Li----------------------' name.count('lex') 统计 lex出现次数 name.encode() 将字符串编码成bytes格式 name.endswith("Li") 判断字符串是否以 Li结尾 "Alex\tLi".expandtabs(10) 输出'Alex Li', 将\t转换成多长的空格 name.find('A') 查找A,找到返回其索引, 找不到返回-1 format : >>> msg = "my name is {}, and age is {}" >>> msg.format("alex",22) 'my name is alex, and age is 22' >>> msg = "my name is {1}, and age is {0}" >>> msg.format("alex",22) 'my name is 22, and age is alex' >>> msg = "my name is {name}, and age is {age}" >>> msg.format(age=22,name="ale") 'my name is ale, and age is 22' format_map >>> msg.format_map({'name':'alex','age':22}) 'my name is alex, and age is 22' msg.index('a') 返回a所在字符串的索引 '9aA'.isalnum() True '9'.isdigit() 是否整数 name.isnumeric name.isprintable name.isspace name.istitle name.isupper "|".join(['alex','jack','rain']) 'alex|jack|rain' maketrans >>> intab = "aeiou" #This is the string having actual characters. >>> outtab = "12345" #This is the string having corresponding mapping character >>> trantab = str.maketrans(intab, outtab) >>> >>> str = "this is string example....wow!!!" >>> str.translate(trantab) 'th3s 3s str3ng 2x1mpl2....w4w!!!' msg.partition('is') 输出 ('my name ', 'is', ' {name}, and age is {age}') >>> "alex li, chinese name is lijie".replace("li","LI",1) 'alex LI, chinese name is lijie' msg.swapcase 大小写互换 >>> msg.zfill(40) '00000my name is {name}, and age is {age}' >>> n4.ljust(40,"-") 'Hello 2orld-----------------------------' >>> n4.rjust(40,"-") '-----------------------------Hello 2orld' >>> b="ddefdsdff_哈哈" >>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则 True