大家好,给大家分享一下python简单的编程代码,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!
字符串可以用单引号、双引号、三引号括起来,字符串为不可变类型。
python中每个字符串自带下标和索引,可用 str[x] 来精确访问字符串 str 中的某个字符
切片: 指对 字符串、列表、元组 进行截取其中一部分的操作
语法: 序列[开始位置下标 : 结束位置下标 : 步长]
其中切片不包含结束位置下标对应的数据 ,即开始位置下标和结束位置下标为 [ ) 的包含形式
下标 和 步长 均可不写或写负数,步长默认为1,若下标开始到结束的方向与步长的方向冲突,则无法选取出数据
字符串的查找: find() 、index() 、count() 、rfind() 、rindex()
find() : 检测某个子串是否包含在这个字符串中,如果存在则返回这个子串开始位置的下标,否则返回-1 字符串序列.find( 子串 , 开始位置下标 , 结束位置下标 )
开始和结束位置下标可以省略,表示在整个字符串序列中查找
index() : 与find()函数的用法一样,但如果不存在要查找的子串,则会报错
count() :返回某子串在该字符串中出现的次数,若不存在则返回0
rfind() 与 rindex() 查找方向为从右侧开始,其功能与 find() 与 index() 相同
字符串的替换 :replace() 替换 字符串序列.replace ( 旧子串、新子串、替换次数 )
注意: replace函数并不会改变原有字符串的数据,修改后的数据是replace函数的返回值
字符串的分割: split() 分割,返回一个列表,丢失分割字符 字符串序列.split(分割字符,分割次数)
注意:split函数也不会改变原有字符串数据,修改后的数据为函数返回值
列表的合并:join() 合并,返回一个字符串,添加连接字符 连接字符串.join(多字符串组成的列表)
注意: join() 合并 是 split() 分割 的逆序操作
字符串修改大小写函数:
capitalize() 将字符串第一个字母转换为大写,其余均为小写
title() 将字符串中每个单词的首字母转化成大写,其余均为小写
lower() 将字符串中的大写全部转换为小写
upper() 将字符串中的小写全部转换为大写
例:
initial: brotheR aNd me
capitalize: Brother and me
title: Brother And Me
lower: brother and me
upper: BROTHER AND ME
字符串删除空白字符函数:
lstrip() : 删除字符串左侧空白字符
rstrip() : 删除字符串右侧空白字符
strip() : 删除字符串两侧空白字符
例:
initial: " brother and me "
lstrip: "brother and me "
rstrip: " brother and me”
strip: "brother and me”
字符串对齐函数: ljust() 、 rjust() 、center()
返回 一个原字符串 左/右/中 对齐,并用指定字符(默认空格)填充至对应长度的新字符串 字符串序列.ljust( 长度 , 填充字符 )
字符串序列.rjust( 长度 , 填充字符 )
字符串序列.center( 长度 , 填充字符 )
例:
initial: brother and me
ljust: brother and me----------------
rjust: ----------------brother and me
center: --------brother and me--------
字符串判断开头或结尾函数:
startswith() : 检查字符串是否以指定子串开头,是则返回True,否则返回Falsepython创意简单小作品。如果设置开始和结束位置下标,则在指定范围内检查 字符串序列.startswith(子串,开始位置下标,结束位置下标)
endswith() : 检查字符串是否以指定子串结尾,用法与 startswith()相同 字符串序列.endswith(子串,开始位置下标,结束位置下标)
字符串字符类型判断函数:
isalpha() : 如果字符串非空且只包含字母则返回True , 否则返回False
isdigit() : 如果字符串非空且只包含数字则返回True , 否则返回False
isalnum() : 如果字符串非空且只包含数字或字母则返回True, 否则返回False
isspace() : 如果字符串非空且只包含空格则返回True , 否则返回False
列表 : 可以用下标选取指定数据,列表为可变类型。
列表数据查找函数:
index() : 返回指定数据所在位置的下标,若数据不存在则报错 列表序列.index(数据, 开始位置下标, 结束位置下标)
count() : 返回指定数据在该列表出现的次数,若数据不存在则返回0 列表序列.count(数据)
len() : 返回列表的长度,即列表中数据的个数 len(列表序列)
判断列表中是否存在指定数据:
in : 判断指定数据在某个序列的存在,存在返回True,否则返回False '指定数据' in 列表序列
not in : 与 in 的用法相同,返回结果相反
列表数据增加函数:
append() : 列表结尾追加数据,若数据为一个序列,则直接追加整个序列到列表的结尾位置 列表序列.append(数据)
extend() : 列表结尾追加数据,若数据为一个序列,则将序列的数据逐一添加到列表,若数据为字符串,则将单独的每个字符逐一添加到列表 列表序列.extend(数据)
insert() : 指定位置新增数据,增添方式与 append() 相同 列表序列.insert(位置下表,数据)
列表数据删除函数:
del 目标(列表名 或 列表指定下标数据)
pop() : 删除指定下标的数据(默认为最后一个),并返回该数据。 列表序列.pop(下标)
remove() : 移除列表中某个数据的第一个匹配项,若匹配失败则报错 列表序列.remove(数据)
clear() : 清空列表中的所有数据 列表序列.clear()
列表数据修改函数:
修改指定下标数据: 列表序列[下标] = 数据
reverse() : 将列表数据的顺序逆置 列表序列.reverse()
sort() : 对列表的数据进行排序 列表序列.sort( key = None, reverse = False)
注意: reverse = True 降序 reverse = False 升序(默认)
列表数据复制函数:
copy() : 列表数据复制 新列表序列 = 原列表序列.copy()
即将原列表的数据复制到新列表中
列表的循环遍历:
while循环方法 : i = 0
while i < len(list):
print(list[i])
i += 1
for循环方法 : for i in list:
print(i)
列表嵌套:指一个列表里包含了其他的子列表。
例: List = [ ['a' , 'b' , 'c'] , ['1' , '2' , '3'] , ['&' , '$' , '%'] ]
列表综合训练: #将8位老师随机分配到3个办公室中
import random
teacher = ['a1','a2','a3','a4','a5','a6','a7','a8']
room = [[],[],[]]
for i in teacher:
n = random.randint(0,2)
room[n].append(i)
print(room)
i = 1
for r in room:
print(f'办公室{i}的人数是{len(r)},他们分别为:',end = ' ')
for name in r:
print(name,end = ' ')
print()
i += 1
元组: 一个元组可以存储多个数据(与列表相同),但元组内的数据是不能修改的。
元组名 (数据1 , 数据2 , 数据3)
注意: 如果定义的元组只有一个数据,那么需要添加逗号,凑则数据类型为该数据类型,而不是 元组(tuple) 数据类型,如 tuple = ("x’ , )
元组的常见操作:
按下标查找数据 : 如tuple1[0] 、 tuple1[1]等
index() : 查找某个数据,用法与字符串、列表的index相同
count() : 统计某个数据在当前元组出现的次数
len() : 统计元组中的数据个数
元组数据的修改:
元组内的直接数据如果修改则立即报错
如果元组里面有列表,可直接修改列表内的数据,如 ("abc’ , "qwe’ , ["123’ , "456’ , "789’] , "jkl’) 元组就可以修改其中的 "123’ , "456’ , "789’ 数据
字典:字典里的数据是以键值对形式存储的。字典为可变类型。
特点: 符号为大括号,数据为键值对形式出现,各个键值对之间用逗号隔开。 dict1 = { '键1' : '值1' , '键2' : '值2' , '键3' : '值3' }
空字典除了可以用空大括号创建,也可以用函数创建: dict2 = dict()
字典常见操作:
增 / 改: 字典序列["key’] = 值
注意: 如果key存在则修改该键对应的值,如果key不存在则新增此键值对
删:
del(dict) 删除字典
del dict['Key'] 删除字典中指定键值对
dict.clear() 清空字典
查:
按key值写法直接查找: 字典序列["键’]
按函数写法查找: get() keys() values() items()
get() : 获取某个键对应的值 字典序列.get(key , 默认值)
注意:若当前查找的key不存在则返回默认值,若默认值省略不写则返回None
keys() : 获取字典中所有的key,并返回可迭代对象 字典序列.keys()
values() : 获取字典中所有的values,并返回可迭代对象 字典序列.values()
items() : 获取字典中所有的键值对(key 和 values),并返回可迭代对象 ,里面的数据是元组 字典序列.items()
字典的循环遍历:
遍历字典的Key: for key in dict1.keys():
print(key)
遍历字典的Value: for value in dict1.values():
print(value)
遍历字典的元素: for item in dict1.items():
print(item)
遍历字典的键值对(拆包): for key, value in dict1.items():
print(f'{key} = {value}')
集合: 创建集合可使用 {} 或 set() ,但是如果要创建空集合只能使用 set() , 因为使用 {} 会创建空字典。
集合数据特点: 集合里面的数据会自动去重,不允许重复;集合里面的数据没有顺序,且不支持下标。集合是可变类型。
集合的创建:
直接创建: s1 = {10 , 20 , 30 , 40 , 50}
使用set()创建: s2 = set('brother')
创建空集合: s3 = set()
集合中数据的常见操作:
增加数据: add() update()
集合.add(数据) 增加单个数据,要增加的数据在原集合中存在的话,不进行任何操作
集合.update(数据列表) 在集合中增加数据序列
删除数据: remove() discard() pop()
集合.remove(数据) 删除集合中的指定数据,如果数据不存在则会报错
集合.discard(数据) 删除集合中的指定数据,如果数据不存在也不会报错
集合.pop() 随即删除集合中的某个数据,并返回这个数据
查找数据: in 判断数据在集合序列 not in 判断数据不在集合序列
公共操作:运算符、公共方法、容器类型转换
运算符:
+ 合并,支持字符串、列表、元组
* 复制,支持字符串、列表、元组
in 元素是否存在,支持字符串、列表、元组、字典
not in 元素是否不存在,支持字符串、列表、元组、字典
公共方法:
len() 计算容器中元素个数
del() 删除元素
max() 返回容器中元素的最大值
min() 返回容器中元素的最小值
range(start,end,step) 生成从start到end的数字(其中不包含end数字),步长为step,供for循环使用
enumerate() 将一个可遍历的数据对象(列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环中 enumerate(可遍历对象, start=0)
容器类型转换:
tuple(序列): 将某个序列转换成元组
list(序列): 将某个序列转换成列表
set(序列): 将某个序列转换成集合
推导式(生成式): 列表推导式、字典推导式、集合推导式
作用: 化简代码
列表推导式:用一个表达式创建一个有规律的列表或控制一个有规律列表。
创建0-10的列表: list = [i for i in range(10)]
创建0-10的偶数列表: list = [i for i in range(10) if i % 2 == 0]
多个for循环列表: list = [(i , j) for i in range(3) for j in range(3)]
字典推导式:快速合并列表为字典或提取字典中目标数据
赋值体验: dict = {i:i*2 for i in range(1,5)}
将两个列表合并为字典: list1 = ['name' , 'age' , 'gender']
list2 = ['Tom' , 20 , 'man']
dict = { list1[i] : list2[i] for i in range(len(list1)) }
提取字典中目标数据: counts = {'a' : 150 , 'b' : 200 , 'c' : 250}
count = {key : value for key , value in counts.items() if value >= 200}
集合推导式: list = [1,1,2]
set = {i * 2 for i in list}