Skip to content

Commit

Permalink
Merge pull request liukai234#3 from 24012401/master
Browse files Browse the repository at this point in the history
添加文件
  • Loading branch information
liukai234 authored Jul 3, 2020
2 parents 2da66dd + 1de59dc commit d47095b
Show file tree
Hide file tree
Showing 3 changed files with 232 additions and 3 deletions.
22 changes: 19 additions & 3 deletions 字符串和正则表达式/list.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
# 在列表最后添加有且仅有一个元素
str_0.append('英语好难')
print(str_0)
str_0[len(str_0):] = ['放暑假了']
print(str_0)
len(str_0)

# 用有且仅有一个列表扩展另一个列表,即同时在列表末尾添加多个元素
Expand Down Expand Up @@ -68,6 +70,8 @@
# 复制后直接输出,原列表不变
print(number)
print(number * 3)
number_copy = number.copy()
print(number_copy)
# 复制后赋值给原列表
number *= 2
print(number)
Expand Down Expand Up @@ -101,8 +105,20 @@
# 从小到大排序
number.sort()
print(number)
number.sort(reverse=False)
print(number)
# 从大到小排序
number.reverse()
print(number)
number.sort(reverse=True)
print(number)
print(number)

#替换列表中的元素
str_0[0] = 'hahahha'
print(str_0)
str_0[str_0.index('hahahha')] = "哈哈哈"
print(str_0)
str_0[3:] = [54, 85, 95, 105]
print(str_0)

#清空列表
str_0.clear()
print(str_0)
35 changes: 35 additions & 0 deletions 字符串和正则表达式/元组.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# topical: 元组学习
# author: Liu Xiaoxia
# time: 2020.07.03

#创建一个元组(tuple是一个函数名,不能作为变量名)
tuple1 = (1, 5, 4, 8, 7)

#访问元组与访问列表类似,可用下标
print(tuple1[2])
print(tuple1[3:])

#拷贝元组
tmp = tuple1[:]
print(tmp)

#元组不可以被修改
#tuple1[2] = 9
#会报错

#元组的标识符:逗号‘,’是关键,下面的temp仍然是元组
temp = 1, 5, 6, 10

#元组的乘法
tuple2 = 5 * (2, )
print(tuple2)

#增加元素(逗号和括号缺一不可)
tuple1 = tuple1[:2] + ("hahaha",) + tuple1[2:]
print(tuple1)

#删除整个元组
del tuple2

#元组相关操作符
#拼接+ 重复* 关系操作符< > = 逻辑操作符not and or 成员操作符in和not in
178 changes: 178 additions & 0 deletions 字符串和正则表达式/字符串相关操作.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
# topical: 字符串
# author: Liu Xiaoxia
# time: 2020.07.03

# 字符串也可以切片
# 比较操作符 逻辑操作符 成员操作符都可用
# 和列表、元组并列,都是序列

# 首字符大写
str1 = "xiaoxie"
str1 = str1.capitalize()
print(str1)

# 字符串全部小写
str1 = "DA Xie He XIAO XIe"
str1 = str1.casefold()
print(str1)

# 转换字符串中所有大写字符为小写
str1 = "DA Xie He XIAO XIe"
str1 = str1.lower()
print(str1)
# 转换字符串中所有小写字符为大写
str1 = "da Xie He Xiao XIe"
str1 = str1.upper()
print(str1)

# 翻转字符串中的大小写
str1 = 'Hello WORld'
str2 = str1.swapcase()
print(str2)

# 字符串居中,使用空格填充至给定长度
str1 = str1.center(30)
print(str1)

# 返回一个左对齐的字符串,并用空格填充至长度为width
str2 = str1.ljust(20)
print(str2)
# 返回一个右对齐的字符串,并用空格填充至长度为width
str2 = str1.rjust(20)
print(str2)

# 返回长度为width的字符串,原字符串右对齐,前边用0填充
str2 = str1.zfill(30)
print(str2)

# 返回子字符串sub在字符串中出现的次数,start和end表示范围
# count(sub[,start [,end]])
num = str1.count('xie')
print(num)

# 判断字符串是否以sub子字符串结束
# endswith(sub[,start [,end]])
flag = str1.endswith('haha')
print(flag)
# 判断字符串是否以prefix子字符串开始
# startwith(prefix[,start [,end]])
flag = str1.startswith('haha')
print(flag)

# 将字符串中的tab符号(\t)转换为空格,默认空格数tabsize = 8
# expandtabs([tabsize=8])
str1 = 'shu\tjia\tlai\tla!'
str1 = str1.expandtabs()
print(str1)

# 检测sub是否包含在字符串中,有则返回索引值,否则返回-1
# find(sub[,start [,end]])
num = str1.find('jia')
print(num)
# rfind(sub[,start [,end]])
# 类似find,不过是从右边开始查找
num = str1.rfind('jia')
print(num)
# index(sub[,start [,end]])
# 和find一样,不过,如果sub不在字符串中会产生一个异常
num = str1.index('la')
print(num)
# rindex(sub[,start [,end]])
# 和index一样,不过是从右边开始
num = str1.rindex('la')
print(num)

# 检测字符串中是否包含至少一个字符,且所有的字符都是字母或者数字,是则返回True,否则False
flag = str1.isalnum()
print(flag)

# 字符串中至少有一个字符且所有字符都是字母则返回True,否则False
flag = str1.isalpha()
print(flag)

# 判断字符串只包含十进制数字则返回True,否则返回False
flag = str1.isdecimal()
print(flag)

# 判断字符串只包含数字则返回True,否则返回False
flag = str1.isdigit()
print(flag)

# 判断字符串中只包含数字字符,则返回True,否则返回False
flag = str1.isnumeric()
print(flag)

# 字符串中至少包含一个区分大小写的字符,且这些字符都是小写,则返回True,否则False
flag = str1.islower()
print(flag)
str2 = '哈哈哈'
flag = str2.islower()
print(flag)

# 字符串中至少包含一个区分大小写的字符,且这些字符都是大写,则返回True,否则False
flag = str1.isupper()
print(flag)

# 字符串只包含空格,则返回True,否则返回False
flag = str1.isspace()
print(flag)

# 判断字符串标题化(所有单词有且仅有首字符大写),则返回True,否则False
flag = str1.istitle()
print(flag)

# 返回标题化的字符串
str2 = str1.title()
print(str2)

# 以字符串作为分隔符,插入到sub中所有的字符之间
str2 = str1.join('哈哈哈哈哈')
print(str2)

# 删除字符串左右的所有空格,chars参数可以指定删除的字符
# strip([chars])
str1 = ' aaabbbaaa '
str2 = str1.strip('a')
print(str2)
# 去掉字符串左边所有空格
str1 = ' just a test'
str1 = str1.lstrip()
print(str1)
# 去掉字符串末尾所有空格
str1 = 'just a test '
str1 = str1.rstrip()
print(str1)

# 找到子字符串sub,把字符串分成一个3元组(pre_sub, sub, fol_sub)
# 如果字符串中不包含sub则返回('源字符串', '', '')
str2 = str1.partition('te')
print(str2)
# rpartition(sub)
# 类似patition,从右边开始查找
str2 = str1.rpartition('te')
print(str2)

# 把字符串中的old子字符串替换成new子字符串,count指定替换次数
# replace(old, new[count])
str2 = str1.replace('test', 'joke')
print(str2)

# 不带参数默认是以空格作为分隔符切片字符串
# 如果maxsplit参数有设置,则仅分隔maxsplit个字符串,返回切片后的子字符串拼接的列表
# split(sep = None, maxsplit = -1)
list1 = str1.split()
print(list1)

# 按照'\n'分隔,返回一个包含各行作为元素的列表
# 如果keepends参数指定,则返回前keepends行
# splitlines(([keepends]))
str1 = ('just\na\ntest')
str2 = str1.splitlines()
print(str2)

# 根据table的规则(可以由str.maketrans('a', 'b')定制)转换字符串中的字符
# translate(table)
str1 = 'just a test'
str2 = str1.translate(str.maketrans('s', 'b'))
print(str2)
print(str.maketrans('s', 'b'))

0 comments on commit d47095b

Please sign in to comment.