我学习python没有记住的东西
格式化
# 格式化 a=123 b='ww' print("%d,%s,%%"%(a,b)) # %d,%s,%f,%c,%f
格式化代码:print('{}{}'.format(a,b))
while-else:没有while就走else
优先级:()>not>and>or。谁先在,先算谁!!!
列表增删查改
# append 追加,给列表的最后面追加一个元素 l = [1, 2, 'a'] l.append(666) print(l) # [1, 2, 'a', 666] # insert 插入在列表的任意位置插入元素 l = [1, 2, 'a'] l.insert(1,'太白') print(l) # [1, '太白', 2, 'a'] # extend 迭代着追加,在列表的最后面迭代着追加一组数据 l = [1, 2, 'a'] l.extend('太白# pop 通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元l = ['太白', 'alex', 'WuSir', '女神']
ret = l.pop(1) print(ret,l) # alex ['太白', 'WuSir', '女神'] # remove 通过元素删除列表中该元素 l = ['太白', 'alex', 'WuSir', '女神'] l.remove('alex') print(l) # ['太白', 'WuSir', '女神'] # clear 清空列表 l = ['太白', 'alex', 'WuSir', '女神'] l.clear() print(l) # [] # del #按照索引删除该元素 l = ['太白', 'alex', 'WuSir', '女神'] del l[2] print(l) # ['太白', 'alex', '女神'] # 切片删除该元素,顾头不顾腚 l = ['太白', 'alex', 'WuSir', '女神'] del l[1:2]
print(l) # ['太白', 'WuSir', '女神']
# 切片(步长)删除该元素
l = ['太白', 'alex', 'WuSir', '女神']
del l[::2]
print(l) # ['alex', '女神']
# 按照索引改值 l = ['太白', 'alex', 'WuSir', '女神'] l[0] = '男神' print(l) # ['男神', 'alex', 'WuSir', '女神'] # 按照切片改值(迭代着增加) l = ['太白', 'alex', 'WuSir', '女神'] l[1:3] = 'abcdefg'
# 先把以前的拿出来,空了想添多少填多少,以当前类型最小单位
# l[1:3] = ['abcdefg'] # 把字符类型转为列表,列表的最小单位
print(l) # ['太白', 'a', 'b', 'c', 'd', 'e', 'f', 'g', '女神']
# 按照切片(步长)改值(必须一一对应)
l = ['太白', 'alex', 'WuSir', '女神']
l[::2] = '对应'
print(l) # ['对', 'alex', '应', '女神']
其他:
排序:sort(),sort(reverse = True)
反转:reverse()
列表转字符串:
join()
str=''.join(list)
l = ['太白', 'alex', 'WuSir', '女神'] s = ''.join(l) print(s) s = '_'.join(s) print(s)
>>太白alexWuSir女神
>>太_白_a_l_e_x_W_u_S_i_r_女_神
index(X): 从列表中找出X的索引位置。
Tip:
切片:[从什么开始:从什么结束:步长]
字符串操作:
capitalize:首字母大写,其余小写
title:每个单词首字母大写
swapcase:大小写反转
center(X):在X个字符中居中字符串
expandtabs:
s = '12\t3456' ss = s.expandtabs() print(ss) >>12 3456
格式化的更整齐,比\t不容易出错。
startwith(X):是否以X开头。返回True,False
startwith(X,Y,Z):字符串第Y位次开始,第Z位次结束,是否以X开头
类似:endwith
Tip:位次从0开始算
字符串索引:
v = 'Xiaoran' vv = v.find('r') print(vv,type(vv)) >>4 <class 'int'>
找到任意字符的位置,找不到返回-1
index():和find一样,但找不到报错
去空格strip()
类似 lstrip,rstrip:左去空格,右去空格
count(X):在字符串中X的数量
split():分割,
s = 'Xiaoran Wang Shuo ran' l = s.split() # 默认以空格拆分为列表 print(l)
replace():
s = 'Xiaoran Wang Shuo ran' l = s.replace('Xiaoran','tongxue',1) # 替换几次,默认全部 print(l)
用新字符串来替换旧的。前面是旧的,后面是新的。
元组:只读列表。儿子不能改,孙子可能可以改
如果元组中只有一个元素,元素什么类型就是什么类型。逗号不是元素,分隔符。
遍历列表(列表其中有列表)
字典增删查改:
# 增 dic = {'name': 'xiaoran'} dic['age'] = 12 print(dic) dic.setdefault('age', 20) print(dic) # 删 print(dic.pop('name', None)) print(dic) del dic['age'] print(dic) # 改 dic = {'name': 'xiaoran'} dic['name'] = 'ran' print(dic) # 更新(大批量改) dic_2 = {'name': 'xiaoran', 'age': 18} dic.update(dic_2) # 点谁操作谁(dic) # 查 for k,v in dic_2.items(): print(k,v) # 取用 print(dic.get('name'))
编码:
s1 = 'alex' # encode 编码,如何将str --> bytes, () s11 = s1.encode('utf-8')
集合:
其中不能放不可变的(可哈希的)数据类型:
se = {1,2,3,4} # 增 se.add(2) # 无序 se.update({'abc'}) # 其中最小元素 print(se) # 删 se.remove('2') se.clear() del se