用时两天,终于整理出了这篇文章。主要是字符串、列表和字典的基本用法,包括定义、特性、增删改查等常用函数及基本语法。
目录
🌻字典的嵌套(附链接)
🌴字符串
🌻1.字符串定义&特性
1.字符串是一个有序的字符的集合
2.按照从左到右的顺序定义字符集合,下标从0开始访问
3.可进行切片操作
- 下标从0开始
- 空格也算一个字符
- [ a:b]中间使用冒号:,区间前闭后开
4.字符串不可修改
🌻2.字符串常用操作
🍓格式化字符串
转换说明符就是占位符,具体内容会被后边表达式的值代替。
转换说明符 | 解释 |
%d 、%i | 转换为带符号的十进制整数 |
%o | 转换为带符号的八进制整数 |
%x 、%X | 转换为带符号的十六进制整数 |
%e 、%E | 转换为科学计数法表示的浮点数 |
%f 、%F | 转换为十进制浮点数 |
%g | 智能选择%f或%e格式 |
%G | 智能选择%F或%E格式 |
%c | 格式化字符及其ASCII码 |
%r | 使用repr()函数将将表达式转换为字符串 |
%s | 使用str()函数将表达式转换为字符串 |
🍓指定最小输出宽度
也可以指定最小输出宽度,比如:
%2d表示输出的整数宽度至少为2;
%10s表示输出的字符串宽度至少为10。
当数据的实际宽度小于指定宽度时,会在左侧以空格补齐,当数据的实际宽度大于指定宽度时,指定宽度就失去了本来的作用。
🍓指定对齐方式
python输出数据默认右对齐。也可以在最小宽度之前加一个标志改变对齐方式。
标志 | 说明 |
- | 表示左对齐 |
+ | 表示输出的数字带符号(正数+、负数-) |
0 | 宽度不足时补0,而不是补空格 |
几点说明:
- 对于整数,指定左对齐时,在右边补 0 是没有效果的,因为这样会改变整数的值。
- 对于小数,以上三个标志可以同时存在。
- 对于字符串,只能使用
-
标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。
🍓指定小数精度
python允许指定小数点后面的数字位数。
精度值需要放在最小宽度之后,中间用点号.
隔开;也可以不写最小宽度,只写精度。具体格式如下:
%m.nf
%.nf
m 表示最小宽度,n 表示输出精度,.
是必须存在的。
如下:
f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)
运行结果:
🌻 3.字符串常用函数
center()函数
返回一个长度为width、两边用fillchar(单字符)填充的字符串。
语法:str.center(width,"fillchar")
注意:引号不能省略
count()函数
查找一个字符串中,某个字符出现的次数
语法:str.count(sub,start,end)
sub:搜索的子字符串
start:开始搜索的下标索引值。默认为第一个字符,第一个字符索引值为0。
end:结束搜索的下标索引值。
endwith()函数
判断字符串是否以指定字符或字符串结尾
语法:str.endswith("suffix", start, end) 或str[start,end].endswith("suffix")
返回值为布尔类型(True,False)
startwith()函数
判断字符串是否以指定字符或字符串开头
语法:str.startwith("suffix", start, end)
find ()函数
查找字符,存在返回下标,不存在返回-1
语法:str.find(str,start,end)
isdigit()函数
判断字符串是否只由数字构成
语法:str.isdigit( )
join ()函数
拼接字符串
语法:str.join(item)
注意:item表示一个成员,括号里必须只能有一个成员,比如','.join('a','b')这种写法是行不通的。
replace()函数
替换原字符串的某个值
语法:str.replace(旧的值,新的值,替换次数)
split ()函数
按照分隔符把字符串分开
语法:str.split(sep,num)
sep:分隔符,不写sep时,默认表示用 空格,\n,\t 分隔字符串
num:分隔次数,有sep时按sep的值分隔
🌴列表
🌻1.列表的定义&特性
列表是一个有序的,可修改的(增删查改),元素以逗号分隔,以中括号包围的序列。
[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
可存放多个值,按照从左到右的顺序定义列表元素,下标从0开始访问,可修改指定索引位置对应的值
🌻2.列表的增删查、排序
🍓增:
append ()函数
将新元素追加到列表末尾
语法:list.append(obj)
obj:添加到列表末尾的对象
extend()函数
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
语法:list.extend(seq)
seq :元素列表,必须是一个可以迭代的序列
insert()函数
将指定对象插入列表的指定位置
语法:list.insert(index, obj)
index :对象 obj 需要插入的索引位置。
obj :要插入列表中的对象
🍓删:
pop()函数
用于删除列表中的一个元素,默认最后一个元素,并且返回该元素的值
语法:list.pop( obj=list[n] )
obj :要删除列表中的对象
n:索引下标
注意:obj是可选参数
remove()函数
删除列表中某个值(指定元素名)的第一个匹配项
语法:list.remove(obj)
obj :列表中要移除的对象
del()函数
删除整个列表或列表的某数据,del是Python内置功能,不是列表独有
clear()函数
清空当前列表中的元素
语法:list.clear()
🍓查:
index()函数
检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
语法:str.index(str, beg=0, end=len(string))
str :指定检索的字符串
beg :开始索引,默认为0。
end :结束索引,默认为字符串的长度
count()函数
计数,返回要计数的元素在列表当中的个数
语法:str.count(sub,start=0,end=len(string))
sub -- 搜索的子字符串
start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
in
查找元素是否在列表中,在返回true,否则返回false
🌻列表的排序&反转
sort ()函数
语法:list.sort()
排序顺序:大写、小写、中文(数字按大小排序)
注意:这个方法会改变a自身
a = [7,5,9,3]
# True为逆序,False为正序
a.sort(reverse = False)
print(a)
a.sort(reverse = True)
print(a)
[3, 5, 7, 9]
[9, 7, 5, 3]
sorted()函数
排序,用这个方法可以将排序后的列表赋值给其他列表,也就是说原列表值不会改变。
a = [7,5,9,3]
# reverse为True逆序,reverse为False正序
b = sorted(a,reverse=True)
print(b)
b = sorted(a,reverse=True)
print(b)
# 原列表值不会改变
print(a)
[9, 7, 5, 3]
[9, 7, 5, 3]
[7, 5, 9, 3]
reverse()函数
将列表中的元素反转
a = [11,23,45,7]
a.reverse()
print(a)
[7, 45, 23, 11]
🌻切片与步长
🍓切片:
定义:
通过指定下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素,这种访问序列的方式叫做切片。
语法:
[start:end:step]
start:起始索引,从0开始
end:结束索引,但是end-1为实际的索引值
step:步长,步长为正时,从左向右取值。步长为负时,反向取值
注意切片的结果不包含结束索引,即不包含最后的一位,-1代表列表的最后一个位置索引,
与字符串类似,也是前闭后开
两种切片方法:
从左往右:
list[3:-1:2]
表示从0下标开始取数,依次从左往右取,间隔步长为2。
从右往左:
list[3:-2:-1]
-1表示从右往左取,步长为1
🍓步长
间断取指定数,取头不取尾
语法:list[start:end:step]
list[1:]:表示取到最后一个数
list[1:-1]:表示取到倒数第二个数,且包含倒数第二个数
🌴字典
🌻定义&特性
字典是Python提供的一种常用的数据结构,它用于存放具有映射关系的数据。 字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。
dic={key1:value1,key2:value2}
:冒号左边是key,右边是value
特性
1.key:value结构
2.key必须为不可变数据类型(字符串、数字),必须唯一
3.value可以有多个、可修改、可不唯一
4.无序
5.查询速度快,且不受字典大小的影响
🌻字典的创建
1.使用函数 dict 从其他映射或键值对序列创建字典
items=[('name','Tom'),('age',18)]
d=dict(items)
print(d)
# 结果为{'name': 'Tom', 'age': 18}
# 如果不为dict函数传入数据,则会创建一个空字典
t=dict()
print(t)
# 结果为 {}
2.指定关键字参数来创建字典
d=dict(name='swamm',age=18)
print(d)
# 结果为 {'name':'swamm','age':18}
🌻字典的增删改查
🍓增:
dic['key'] = 值
setdefault 设置默认
🍓删:
pop 删除指定key
del 删除指定key
popitem 随机删除
clear 清空dict
🍓改:
update:如果key在字典中存在,新的value将会替代原来value的值,如果不存在,则增加新的值。
🍓查:
看key是否在字典里:key in dict
dic.keys()打印所有的key值
dic.values ()打印所有的value值
dic.items()把字典以列表的形式显示
get()函数
得到键值,有则打印,没有则报错
补充:列表的循环
for k in dic:
print(k) #打印k
print(k,dic[k]) #k和value一起打印
len(dic)求长度
len()方法可同时用于列表、字符串
🌻字典的嵌套
可以在字典中存储列表,在列表中存储字典,在字典中存储字典等等。python中几乎所有的数据类型,都可以存进字典中。
详细内容点击下方链接:
由于本人能力有限,文章难免有所疏漏,若有错误,还请各位大佬多多指正。