python基础学习7
内容概要
- 字符串的内置方法
- 字符串的内置方法(补充)
- 列表的内置方法
- 可变类型与不可变类型
- 队列与堆栈
内容详情
字符串的内置方法
# 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
来源:https://www.cnblogs.com/keep-on-going/p/15987221.html
本站部分图文来源于网络,如有侵权请联系删除。