str:不可变 1.1首字母大写: name ='alex' name1 = name.capitalize() print(name1)
1.2每个单词首字母大写 name ='alex wusir' name1 = name.title() print(name1) print(name.title())
1.3大小写反转 name = 'Alex' name1 = name.swapcase() print(name1) print(name.swapcase())
1.4 居中---填充 name = 'alex' name1 = name.center(20,'-') print(name1) print(name.center(20,"-"))
1.5 查找 从左向右 只查找一个 name = 'alexaaal1' name1 = name.find('e') #只能查找一个,并且输出值为索引。 print(name1) print(name.find('e'))
1.6 拼接 name = 'alex' name1 = ''.join(name) print(name1) print(''.join(name))
1.7 格式化 1.格式化 2.f 3.name.format() name = 'alex{},{},{}' name1 = name.format(1,2,3) print(name1)# 按照顺序位置进行填充
name = 'alex{k1},{k},{k3}' name1 = name.format(k=1,k1=2,k3=3) print(name1)# 按照关键字进行填充
name = 'alex{2},{0},{1}' print(name.format('a','b','c'))# 按照索引值进行填充
开辟新的空间 name = "alex" name1 = "wusir" print(id(name)) print(id(name1)) print(id(name + name1))#地址都不同list: 定义方式: list("123")
其他方法: lst = [1,2,23,234,435,36,23,213421,421,4231,534,65] lst.sort() # 排序 (升序) print(lst)
lst = ["2233","12"] lst.sort() # 排序 (默认升序) print(lst)
lst = [1,2,23,234,435,36,23,213421,421,4231,534,65] lst.sort(reverse=True) # 降序 print(lst)
lst = [1,2,3,4455,5,6,7] print(lst[::-1])1.反转 lst.reverse()2.反转 print(lst)
lst = [1,2,3,4,5123,21345,231123,4,1235,234,123] lst.sort() lst.reverse() 先升序,在反转 print(lst)
面试题 lst =[[]] new_lst = lst * 5 new_lst[0].append(10) print(new_lst) 答: new_lst = [[10],[10],[10],[10],[10]]
lst = [1,[]] new_lst = lst * 5 new_lst[0] = 10 print(new_lst) 答: new_lst = [[10,[]],[1,[]],[1,[]],[1,[]],[1,[]]]
lst = [1,[]] new_lst = lst * 5 new_lst[1] = 10 print(new_lst) 答: new_lst = [[1,10],[1,[]],[1,[]],[1,[]],[1,[]]]
方式一: lst.extend(lst1) print(lst) 方式二: print(lst+lst1) new_lst = lst * 5 print(id(new_lst[0]), id(lst[0]))#地址相同
lst = [[]] new_lst = lst * 5 new_lst[0].append(10) print(new_lst) 答: new_lst = [[10],[10],[10],[10],[10]]
tuple: # 数据类型是()中数据本身 tu = (12) print(type(tu))
tu = (1,) #(1,)是元组 print(type(tu))
元组 + * 不可变共用,可变也共用
dict:定义一个字典: print(dict(k = 1,k2 = 2))
随机删除 popitem dic = {"key":1,"key3":56,"key2":2} print(dic.popitem()) #返回的是被删除的键值对(键,值) print(dic) python36以上 默认删除最后一个
dic = {} dic1 = dic.fromkeys("123",[23]) print(dic1)
dic = dict.fromkeys("123456789",1) # 批量添加键值对"键是可迭代对象",值 -- 会被共用 dic["1"] = 18 print(dic)
set: set()---空集合 {}---空字典 定义集合: print(set('alex')) #迭代添加
s = {1,2,3,4} #多运行几次会出现错误答案 s.update("今天") # 迭代添加 print(s)
bool: False 除了下列表示bool为0的之外,剩下的都为真。 数字: 0 字符串: "" 列表:[] 元组:() 字典:{} 集合: set() 其他: None
数据类型之间转换 list转tuple temp_list = [1,2,3,4,5] print(tuple(temp_list))
tuple转list tuple = (1,2,3,4,5) print(list(tuple))
str--list name = 'alex' print(name.split())
list--str lst = ['1','2','3'] print('_'.join(lst))
dict --str dic = {"1":2} print(str(dic),type(str(dic)))
set -- list
list -- set ''.join(list)
python数据类型: 可变: list ,dict ,set 不可变: int bool str tuple 有序: list,tuple,str,int,bool 无序: dict,set 取值方式: 索引: str list tuple 直接: set ,int ,bool 键: dict
lst = [1,2] for i in lst: lst.append(3) print(lst) 答死循环
删除列表的坑 lst = [1,2,3,4] for i in lst: lst.pop() print(lst) 答:lst = [1,2]
lst = [1,2,3,4] for i in lst: lst.pop(0) print(lst)
lst = [1,2,3,4] for i in lst: lst.remove(i) print(lst)
成功删除的方式: lst = [1,2,3,4,5,6] for i in range(len(lst)): lst.pop() print(lst)
lst = [1,2,3,4,5,6] for i in range(len(lst)-1,-1,-1): del lst[i] print(lst)
lst =[1,2,3,4,5,6] for i in range(len(lst)): del lst[-1] print(lst)
lst = [1,2,3,4,5,6] lst1 = lst.copy() for i in lst1: lst.remove(i) print(lst)
dic = dict.fromkeys('12345',1)# 字典的迭代的时候改变了原来的大小(不能加不能删) for i in dic: dic[i] = '123' print(dic)
dic = dict.fromkeys('12345',1) dic1 = dic.copy() for i in dic1: dic.pop(i) print(dic)
集合和字典都是迭代的时候不能改变原来的大小
密码本: ascii -- 没有中文 gbk -- 英文 8b(位) 1B(字节) 中文 16b 2B unicode -- 英文16b 2B 中文32b 4B utf-8 -- 英文8b 1B 欧洲16b 2B 亚洲24b 3B
name = "你好啊" s1 = name.encode("utf-8") # 编码 9 s2 = name.encode("gbk") # 编码 6 s2 = s1.decode("utf-8") # 解码 print(s2.encode("gbk"))
以什么编码集(密码本)进行编码就要用什么编码集(密码本)解码
今日总结 1.编码解码 编码:将文字转换字节形式 encode 解码:将字节转换文字形式 decode
2.基础数据类型补充: str: 首字母大写 capitalize 每个单词首字母大写 title 大小写反转swapcase 居中--填充center 查找:find index 拼接 ''.join() 格式化:name.format(a) list: 排序(默认是升序)降序sort(reverse=True) 反转 reverse 查找 index 统计 count + * 元素是共用的 面试题
tuple: (1,)#元组 (1)#括号里的数据本身
dict: popitem fromkeeys('可迭代的键',共用的值)--坑 dict(key =1,key2 = 2)
set: set()---空集合 set('alex')#迭代添加
坑 列表删除--从后向前删除 创建一个新的列表,删除旧的列表
字典删除--循环的时候不能改变源数据的大小(可以改变值) 创建一个新字典,删除旧的字典 集合删除--循环的时候不能改变源数据的大小类型转换 list--str join str--list split
转载于:https://www.cnblogs.com/zhuzhizheng/p/11178923.html