# 1.strip 移除字符串首尾的指定字符 可以选择方向 str.strip('') 指定引号里的字符 str.lstrip('') left 左边 str.rstrip('') right 右边 # 2.lower upper 将所有的英文字母变为小写 str.lower() 将所有的英文字母变为大写 str.upper() 判断字符串中所有的英文字母是否是纯小写 str.islower() 结果是布尔值 判断字符串中所有的英文字母是否是纯大写 str.isupper() 结果是布尔值 # 3.startswith endswit 判断字符串的开头或者结尾是否是指定的字符 str.startswith('') str.endswith('') 指定引号里的字符 结果是布尔值 # 4.format 格式化输出 方式1 占位符:%s %d 方式2 format方法 >>> 4种 1.跟占位符一致 使用的{}占位 print('my name is {} my age is {}'.format('jason', 18)) 2.根据索引取值 可以反复使用 print('my name is {0} {0} {0} my age is {0} {1}'.format('jason', 18)) 3.根据指名道姓的方式取值 print('my name is {name} {name} my age is {age} {pwd}'.format(name='jason', age=18, pwd=123)) 4.直接使用已经出现过的变量 name = 'jason ' age = 18 print(f'my name is {name} my age is {age} {name} {age}') """python官网很久以前就说推荐使用format做格式化输出 甚至说%s要被砍掉""" # 5.+ * jion 拼接字符串 str1 + str2 如果字符串很大 加号效率较低 str * 10 重复次数 ''.join(str) eg:str = '123' print('|'.join(str)) # 1|2|3 print('$'.join(['jason', 'kevin', 'justin', 'tony'])) # jason$kevin$justin$tony '''join方法相当于是将括号内的元素进行for循环''' l1 = [11, 'jason', 'kevin'] print('|'.join(l1)) # join的元素必须都是字符串才可以 否则报错 # 6.replace 替换字符串中指定的字符 str = 'abcdefabcdefabcdef' 将a替换成b str.replace('a', 'b') 默认一次性替换所有 指定替换的个数 str.replace('a', 'b',n) 还可以通过数字控制替换的个数 从左往右 '''很多文本编辑器里面的替换功能 就可以使用replace完成''' # 7.isdight 判断字符串中是否是纯数字 str.isdigit() 结果是布尔值
# 1.find index 查找指定字符对应的索引值 str.find('') 指定引号里的字符 从左往右查找 查找一个就结束 框定在(n1,n2)(范围顾头不顾尾) str.find('', n1, n2) # -1 意思是没有 找不到 str.index('') str.index('', n1, n2) # 找不到直接报错 不推荐使用 # 2.center ljust rjust zfill 文本位置改变 str.center(n, '') str居中,左右填充n个'' str.ljust(n, '') str左对齐,右边填充n个'' str.rjust(n, '') str右对齐,左边填充n个'' str.zfill(n) zero 零 str前填充n个0 # 3.r''' 特殊符号:斜杠与一些英文字母的组合会产生特殊的含义 print('ja\tson\nke\avin') # ja son kevin print(r'ja\tson\nke\avin') # ja\tson\nke\avin '''如果想取消它们的特殊含义 可以在字符串的前面加一个字母r''' # 4.captalize swapcase title captalize:首字母大写 str.capitalize() swapcase:大小写翻转 str.swapcase() title:每个单词的首字母大写 str.title()
一、类型转换 list可以转换支持for循环的数据类型 可以被for循环的数据类型:字符串 列表 字典 元组 集合 二、常见操作 name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry'] # 1.索引取值 print(name_list[0]) 第一位 print(name_list[-1]) 最后一位 # 2.切片操作 print(name_list[1:4]) # ['kevin', 'tony', 'tom'] print(name_list[-4:-1]) # ['kevin', 'tony', 'tom'] print(name_list[-1:-4:-1]) # ['jerry', 'tom', 'tony'] # 3.步长 print(name_list[0:4:1]) # ['jason', 'kevin', 'tony', 'tom'] print(name_list[0:4:2]) # ['jason', 'tony'] print(name_list[-1:-4:-1]) # ['jerry', 'tom', 'tony'] # 4.len 统计列表中元素的个数 print(len(name_list)) # 5 # 5.成员运算 in 最小判断单位是元素不是元素里面的单个字符 print('j' in name_list) # False print('jason' in name_list) # True # 6.append insert extend 列表添加元素的方式 尾部追加'单个'元素 list.append('') 指定引号里的'单个'元素 指定位置插入'单个'元素 list.insert(n, '') 指定位置[n]插入引号里的'单个'元素 合并列表 list1.extend(list2) '''extend其实可以看成是for循环+append''' for i in list2 list1.append(i) list1+list2 # 加号的效率不高 # 7.del remove pop 删除元素 通用的删除方式 del list[n] 就地删除 list.remove('') # 指名道姓的直接删除某个元素 延迟删除 list.pop() 默认是尾部弹出 list.pop(n) 还可以指定索引值 # 8.list[n] = '' 修改列表元素 # 9.sort sort(reverse=True) 排序 list.sort() 默认是升序 list.sort(reverse=True) 可以修改尾降序 # 10.reverse 翻转 前后颠倒 list.reverse() # 11.比较运算 """列表在做比较的时候 其实比的是对应索引位置上的元素""" # 12.conut 统计列表中某个元素出现的次数 list.count('') 统计元素''出现的次数 # 13.clear 清空列表 list.clear()
s1 = '$$$jason$$$' print(s1.strip('$')) # jason print(s1) # $$$jason$$$ s2 = [1, 2, 3] print(s2.extend([11, 22, 33, 44, 55])) # None 空 print(s2) # [1, 2, 3, 11, 22, 33, 44, 55] print(id(s2)) # 2171184953160 s2.append(11111111) print(id(s2)) # 2171184953160
队列 先进先出 堆栈 先进后出 使用列表模拟出队列与堆栈的特征 # 队列 new_list = [] 先进 new_list.append(111) new_list.append(222) new_list.append(333) 先出 print(new_list.pop(0)) # 111 print(new_list.pop(0)) # 222 print(new_list.pop(0)) #333 # 堆栈 new_list = [] 先进 new_list.append(111) new_list.append(222) new_list.append(333) 后出 print(new_list.pop()) # 333 print(new_list.pop()) # 222 print(new_list.pop()) # 111