字符串的常用方法
S.isdigit() 判断字符串中是否全为数字
S.isalpha() 判断字符串是否全为英文
S.islower() 判断字符串字母是否全为小写英文 (数字不判断)
S.isupper() 判断字符串字母是否全为大写英文
S.isspace() 判断字符串是否全为空白字符
空白字符是指空格,水平制表符(\t),换行符(\n)等不可见字符
S.center(width[,file]) 将字符串居中左右默认填充空格
S.count(sub[,start[,end]]) sub(子串) 例 s='abcaasf' s.count('a') s.count('a',3)
S.find(sub[,star[,end]]) 获取字符串中子串sub的索引,失败则返回-1
S.strip() 返回去掉左右空白字符的字符串 s="\n\thello\n\t"s.strip()#hello
S.lstrip() 返回去掉左侧空白字符的字符串
S.rstrip() 返回去掉右侧空白字符的字符串
S.upper() 生成英文转换为大写字符串 s = 'Welcone' s.upper()#WELCOME
S.lower() 生成英文转换为小写字符串 s.lower() #welcome
S.replace(old,new[,count]) 将原字符串old用new替换生成新的字符串
S.startwith(prefix(前缀),[,start[,end]]) 判断S是否以prefix开头
S.endwith(suffix(后缀),[,start[,end]]) 判断S是否以suffix结尾
列表的创建:
字面的创建方法
空列表 L = [] 非空列表 L = [1,2,3] 构建函数的创建方法 L = list(可迭代对象)
列表可以通过索引来找对象
列表是可变对象
如 L = [1,2,3] L2 = L L2.append(10) print(L)# 1,2,3,10
列表中有深copy 跟 浅 copy
浅copy 举个例子
L = [1,2,3]
L1 = [4,5,L]
L2 = L1
L2[2][2] = 33
print(L) #[1,2,33]
print(L1) #[4,5,[1,2,33]]
所谓的浅copy 通俗点理解就是 他们不会复制第二层或更深的内容 这些部分他们只会公用
深copy
简单来说, 就是把 所有内容都复制一遍,跟咱们的复制粘贴很像, 把所有的内容都拷贝 然后赋值给一个变量
它们没有公用的部分
深拷贝需要调用一个模块
improt copy
L2 = copy.deepcopy(L1)
列表是一个可迭代对象,也就是 可以用 iter使他变成迭代器 ,可以用for 循环索引
L1 = iter([1,2,3]) #L1 为迭代器
个人认为列表常用的方法
删除 del L[] 索引 L.remove() 删除第一个指定元素 L.pop() 默认删除最后一个,跟del 和remove删除的区别
pop 删除后会返回删除的对象
增加 L.insert()会在列表首位置添加一个元素 L.append() 在列表尾部追加一个元素
列表的修改,完全可以用 如L[] = 12 修改后并没有改变列表的内存地址,因为他是一个可变的对象
列表切片的添加
这个就用例子来证明吧
L = [1,2,3,4] 比如 我想 把 2,3 换成 4,4
我可以用这种方法 L [1:3] = [4,4]
在L[0]前添加一段列表
L[:0] = [1,2,3] # L = [1,2,3,1,4,4,4]
注意切除的长短必须跟你给出的长短一致
还有,如果我想在 L[1] 前添加东西
我可以这样来 L[1,1] = [1,2,3] #L = [1,1,2,3,2,3,1,4,4]
如同切蛋糕一样 在落刀的地方 添加东西