day 8 课程总结

day 8 课程总结

字符串相关函数:len、str、eval

​ str(数据) 将指定数据转化为字符串(直接在数据的打印值外面加引号)
eval(字符串) 计算字符串表达式的结果

 str1 = '[10, 20, 30]'
    result = eval(str1)
    print(result)
    result.append(100)
    print(result)

相关方法:

1. join

​ 字符串.join(序列) 将序列中的元素指定字符串拼接一个字符串(序列中的元素必须是字符串)

list1 = ['name', 'age', 'gender']
result = '+'.join(list1)
print(result)
result = '♥'.join('abc')
print(result)

例题:

list1 = [100, 12.8, True, 'abc']
#用'#'将列表中的元素连接起来:100#12.8#True#abc
str1 = [str(i) for i in list1]
result1 = '#'.join(str1)
print(result1)
#将列表中所有的数字数据用'#'连接成一个字符
str2 = [str(i) for i in list1 if type(i) in (int, float)]
result2 = '#'.join(str2)
print(result2)
2.split

​ 字符串1.split(字符串2) 将字符1中的字符串2作为切割点对字符串进行切割从后往前)

​ 切完之后为列表,切点在开头或结尾或连续几个切点,结果为空串(’’)
​ 字符串1.split(字符串2, N) 将字符串1中前N个的字符串2作为切割点对字符串进行切割

str1 = '*123*abc*ABC*456*def*DEF*'
result1 = str1.split('*')
result2 = str1.split('*', 4)
print(result1)
print(result2)
3.replace

​ 字符串1.replace(字符串2, 字符串3) 将字符串1 中所有的字符串2换成字符串3
​ 字符串1.replace(字符串2, 字符串3, N) 将字符串1中前N个的字符串2换成字符串3
例:

```python
str1 = 'how are you? i am fine, think you, and you?'
    result1 = 'me'.join(str1.rsplit('you', 2))
    print(result1)   
str1 = 'how are you? i am fine, think you, and you?'
    str2 = str1[::-1]
    print(str2)
    str3 = str2.replace('uoy', 'em')
    str1 = str3[::-1]
    print(str1)
```
4.替换字符

​ str.maketrans(字符串1, 字符串2) 创建字符串1中所有字符和字符串2中所有字符一一对应关系
字符串.translate(字符对应表) 按照字符对应表的关系进行替换
例:

str3 = '今天星期1,昨天星期7,明天星期2,最喜欢的是星期5晚上,最不喜欢的是星期1早上'
table = str.maketrans('1234567', '一二三四五六天')
result = str3.translate(table)
print(result) 
5.删除字符串两端的空白

​ 字符串.strip() 删除字符串两边的空白
​ 字符串.rtrip() 删除字符串右边的空白
​ 字符串.ltrip() 删除字符串左边的空白

6.统计个数

​ 字符串1.count(字符串2) 统计字符串1中字符串2出现的次数

格式字符串

1. 格式字符串:

​ 包含格式占位符的字符串 % (数据1, 数据2, 数据3,…);()中的数据必须和字符串中占位符一一对应

2.格式占位符

​ %s - 字符串占位符,可以对应任何类型的数据
​ b. %d - 整数占位符,可以对应任何数字
​ %f - 浮点数占位符,可以对应任何数字,如果不控制小数位数可以全部使用%s占位
​ %.Nf - 浮点数占位符,可以对应任何数字,让数字保留N位小数

​ 例:

# xxx, 性别:x, 年龄: xx, 月薪:xxxxx.00元!
# 变量 = '%s, 性别:%s, 年龄: %d, 月薪:%f元!' % (name, gender, age, money)
message = '%s, 性别:%s, 年龄:%d, 月薪: %.2f元!' % (name, gender, age, money)
print(message)

x = '%s-%d-%.2f' % (2.342, 2.342, 2.342)
print(x)
3.f-string
1. 基本用法

​ 语法: f’{表达式}’ - 将{}中表达式的值作为字符串内容拼接到字符串中

message = f'{name}, 性别:{gender}, 年龄:{age}, 月薪:{money}元!'
print(message)

a = 100
result = f'a:{100 + 200 + a}, b:{"abc"[-1]}'
print(result)
2. 加参数

​ 语法:f’{提供数据表达式:参数}’

​ a. 控制小数位数的参数
​ f’{表达式:.Nf}’ - 保留N位小数

money = 223.8
result = f'金额:{money:.2f}元'
print(result)

​ b.金额数值显示加逗号
只加逗号:f’{表达式:,}’
加逗号并且控制小数位数: f’{表达式:,.Nf}’

money = 1800000
result = f'金额:{money:,}元'
print(result)       # 金额:1,800,000元

result = f'¥{money:,.2f}'
print(result)       # ¥1,800,000.00

​ c.显示百分比:

​ f’{表达式:.N%}’ N控制百分数的小数位数

x = 0.34
result = f'增长率:{x:.1%}'
print(result)
			d.控制长度
				f'{表达式:字符>N}'

​ f’{表达式:字符<N}’

num = 8
result = f'py2101{num:0>3}'
print(result)
上一篇:20210525 常用操作


下一篇:leetcode257_二叉树所有路径