目录
字符串就是一串字符,是编程语言中表示文本的数据类型
和列表一样 python中使用一对双引号或单引号定义字符串
str = "hello"
通过索引获取
str = "hello"
# 获取第2个元素 e
ele = str[1]
print(ele)
str = "hello"
for i in str:
print(i) # h e l l o
| 方法 | 说明 |
|
| 如果 string 至少有一个字符并且所有字符都是字母则返回 True |
|
| 如果 string 只包含数字则返回 True |
|
| 检查字符串是否是以 str 开头,是则返回 True |
|
| 检查字符串是否是以 str 结束,是则返回 True |
| 方法 | 说明 |
|
| 检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1 |
|
| 类似于 find(),不过是从右边开始查找 |
|
| 返回一个新字符串,把 string 中的 old_str 替换成 new_str,如果 num 指定,则替换不超过 num 次 |
| 方法 | 说明 |
|
| 返回列表,以 str 为分隔符拆分 string,如果 maxsplit 有指定值,则仅分隔 maxsplit + 1 个子字符串,str 默认包含 |
| 方法 | 说明 |
|
| 返回新字符串,截掉 string 左右两边的空白字符(可以指定截掉的字符) |
set集合是无序的,并且它的元素是唯一的。
s = {'张三','李四','王五'}
# 集合是无序的
print(s) # {'王五', '张三', '李四'}
# 集合元素唯一
s = {'张三','李四','王五','张三'}
print(s) # {'李四', '张三', '王五'}
s = {'张三','李四','王五'}
# 遍历集合
for ele in s:
print(ele)
s = {'张三','李四','王五'}
# # 添加赵六 add
s.add('赵六')
remove 删除 如果有 直接删除 如果没有 程序报错
s = {'张三','李四','王五'}
# 删除张三
s.remove('张三')
pop 删除 随机删除元素 如果没有元素 程序报错
s = {'张三','李四','王五'}
# pop 随机删除
print(s.pop())
discard 删除,元素存在则直接删除,不存在,不做任何操作
s = {'张三','李四','王五'}
# discard 删除元素 如果元素不存在,不做任何处理
s.discard('林青霞')
dictionary(字典)是除列表以外Python之中最灵活的类型,类型为dict
字典同样可以用来存储多个数据
字典使用键值对存储数据
字典用{}定义
键值对之间使用 ,分割
键和值之间使用 : 分割
d = {'中国':'China','英国':'England','美国':'America'}
字典中的键相当于索引,必须是唯一的
d = {'中国':'China','英国':'England','美国':'America','美国':'USA'}
print(d) # {'中国': 'China', '英国': 'England', '美国': 'USA'}
3.1 增加
d = {'中国':'China','英国':'England','美国':'America'}
# 添加 法国
d['法国'] = 'France'
也可以通过setdefault方法添加
d.setdefault('法国','France')
3.2 删除
通过del 删除
d = {'中国':'China','英国':'England','美国':'America'}
# 删除美国 如果键不在字典中,会报错
del d['法国']
通过pop删除
# pop 删除元素 并且返回删除元素的值 如果删除不存在会报错
result = d.pop('法国')
清空字典
# 清空容器中的数据 还可以继续使用
d.clear()
3.3 修改
d = {'中国':'China','英国':'England','美国':'America'}
# 修改美国
d['美国'] = 'USA'
3.4 查询
d = {'中国':'China','英国':'England','美国':'America'}
# 查找中国
value = d['中国']
print(value)
4.1 for循环遍历所有键值对
d = {'中国':'China','英国':'England','美国':'America'}
for ele in d:
print(ele,d[ele])# 结果
中国 China
英国 England
美国 America
4.2 遍历所有的键
d = {'中国':'China','英国':'England','美国':'America'}
for key in d.keys():
print(key)# 结果
中国
英国
美国
4.3 遍历所有的值
d = {'中国':'China','英国':'England','美国':'America'}
for value in d.values():
print(value)# 结果
China
England
America
4.4 遍历所有的键值对
d = {'中国':'China','英国':'England','美国':'America'}
for key,value in d.items():
print(key,value)# 结果
中国 China
英国 England
美国 America
取一个str、list、tuple的部分元素是非常常见的操作
slice,指的是一部分step 从原序列中取出一部分元素组成新序列字符串[开始索引:结束索引:步长]
包含开始索引, 不包含结束索引
string = '中华人民共和国欢迎您'
获取前三个文字newStr = string[0:3:1] # 中国人
步长默认为1,可以省略,如下
newStr = string[0:3]
开始索引为0,可以省略,如下
newStr = string[:3]
如果到末尾结束,可以省略结束索引,例如取后三个字“欢迎您”
newStr = string[7:]
索引分为正序和倒序
0开始-1开始ss = "中华人名共和国欢迎您"
需求:把字符串中从第一个到倒数第二个(不包含)打印出来# 开始位置:正序 结束位置:倒序
print(ss[:-2])
步长也可以为负数,代表逆序切片
ss = "中华人名共和国欢迎您"
把从角标为2到7(包含)倒序打印出来# 欢国和共名人
print(ss[7:1:-1])
推导式指的是轻量级循环创建数据的方式,对列表或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。
推导式包括:
格式:[计算公式 for循环 if判断]
通过列表推导式快速创建[1, 11]所有数字的列表
lst = [ele for ele in range(1, 11)]
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
通过列表推导式快速创建[1, 11]所有偶数的列表
lst = [ele for ele in range(1, 11) if ele % 2 == 0]
# [2, 4, 6, 8, 10]
通过列表推导式快速创建[1, 11)所有偶数的平方的列表
lst = [ele ** 2 for ele in range(1, 11) if ele % 2 == 0]
# [4, 16, 36, 64, 100]
元组推导式的格式:(计算公式 for循环 if判断),其他与列表推导式一致
tp =(ele for ele in range(1, 11))
集合推导式的格式:{计算公式 for循环 if判断},其他与列表推导式一致
s = {ele for ele in range(1, 11)}
d = {key:value for key, value in zip(range(1,10),range(21,30))}
zip(..., ...)将range(1,10)和range(21,30)里的每个元素一一组合成元组,再把这些元组打包成一个可迭代对象。