python基础知识四 各类型数据方法补充,转换,分类,编码+坑中菜

python基础知识四 各类型数据方法补充,转换,分类,编码+坑中菜,第1张

概述3.9各类型数据方法补充,转换,分类,编码,坑中菜 3.9.1数据类型方法补充 1.str:不可变 补充方法 s1.capitalize():首字母大写 s1 = "alex"s2 = s1.capitalize()print(s1) s1.title(): 每个单词首字母大写 s1 = "alex wusir"print(s1.title()) s1.swapcase():大小写反转 s1 3.9各类型数据方法补充,转换,分类,编码,坑中菜 3.9.1数据类型方法补充 1.str:不可变 补充方法

s1.cAPItalize():首字母大写

s1 = "alex"s2 = s1.cAPItalize()print(s1)

s1.Title(): 每个单词首字母大写

s1 = "alex wusir"print(s1.Title())

s1.swapcase():大小写反转

s1 = "AlEx"print(s1.swapcase())

s1.center():居中 -- 填充

s1 = "alex"print(s1.center(20,"-"))

s1.find()查找,从左向右,只查找一个,不存在返回‘-1’

s1.index():查找不存在的报错

#两种均返回第一次找到的下标s1 = "alex"print(s1.find("a"))print(s1.index('e'))

拼接‘_‘.join(s1)(列表中必须全是可迭代对象)

s1 = "al3x"print("_.jion(s1)")
2.List: 2.1定义方式:List("123")(可迭代) 2.2‘+’ ‘*’ 开辟新空间 2.3补充其他方法:

List1.sort()排序(升序)

降序

List1.reverse()(反转) List1.sort(reverse=True)
List1 = [1,12,5,6,1,63,4,8,2,9]List1.sort()#1.升序print(List1)List1.reverse()#2.反转print(List1)List1.sort(reverse=True)#降序print(List1)
3.tuple:

tu = ("12")#数据类型是()中数据本身的类型

print(type(tu))

tu = (1,)

print(tu)

元组可以 ‘+‘,‘*‘,不可变公用,可变也公用

4.dict

定义:print(dict(k1=1,k2=2))

随机删除:popitem

dict1 = {'k1':1,'k2':2}dict1.popitem()print(dict1)print(dict1.popitem())#返回被删除的键值对,官方说随机删除,但是实际是默认删除最后一个(python3.6)

dict1.formkeys():批量添加(可迭代的键,共用的值)

dict1 = {}dict1 = dict1.fromkeys("123",[12])#批量添加键值对,需要字典在前面接着dict1 = dict.fromkeys("123",[12])#也可以用dict.print(dict1)#批量添加必须有字典在前面接着
5.set

set() -- 空集合

{} -- 空字典

定义集合

set(‘alex‘)#迭代添加

print(set(‘alex‘))

6.bool

? bool:-->False

? 1.False

? 2.数字:0

? 3.字符串:""

? 4.列表:[]

? 5.元组:()

? 6.字典:{}

? 7.集合:set()

? 8.其他:None

7.格式化

? 1.%s

? 2.f

? 3.s.format()#填充

#按照顺序位置填充s1 = "alex{},{},{}"print(s.format(1,3)      #按照索引进行填充s1 = "alex{2},{0},{1}"print(name.format('a','b','c'))#按照关键字填充s1 = "alex{a},{b},{c}"print(name.format(a = 1,c = 3,b = 21))
3.9.2数据之间转换
#str --> Liststr1 = "alex"List1 = str1.split()#List --> strList1 = ['1','2','3']str1 = ''.join(List1)#dict --> strdict1 = {'1':1}str1 = str(dic)print(str(dic),type(str(dic))#str --> dict直转是错误的,需要切片添加print(dict("{1:1}"))#错误
3.9.3数据类型细分 可变:List,dict,set 不可变:int,bool,str,tuple 有序:List,tuple,str,int,bool 无序:dict,set 取值方式: 索引:str,List,tuple 直接:set,int,bool 键:dict 3.9.4坑中菜 删除List正确应从后向前删
lst = [1,2]for i in lst:    lst.append(3)print(lst)#死循环lst = [1,3,4]count = 0for i in lst:    count += 1    lst.pop()    #这用方法只循环了两次,输出count一目了然        #lst.pop(0)    print(i)    #这种方法也只循环了两次,输出i一目了然(i在for循环中是递增的。)    #lst.remove(i)    print(i)    #这种方法和上一种差不多print(lst)print(count)#成功1.lst = [1,4]for i in range(len(lst)):    lst.pop()print(lst)#成功2.lst = [1,6]lst1 = lst.copy()for i in lst1:    lst.remove(i)print(lst)

删除字典坑:

#字典(和集合)在迭代的过程不能更改键值对的数量,可改可查,可同时增删。dic = dict.fromkey("123456",1)for i in dic:    dic.pop(i)print(dic)#正确:dic = dict.fromkey("123456",1)dict1 = dic.copyfor i in dict1:    dic.pop(i)print(dic)#正确:同时增删dic = dict.fromkeys("123",1)print(dic)for i in dic:    dic.pop(i)    dic.setdefault(i,i)print(dic)
3.9.5二次编码: 密码本: ascii -- 没有中文 gbk -- 英文 8b(位) 1b(字节) 中文 16b (位) 2b(字节) unicode -- 英文 16b 2b 中文 32b 4b utf -8 -- 英文 8b 1b 欧洲 16b 2b 亚洲 24b 3b
name = "alex"print(name.encode("utf-8"))#编码print(name.encode("gbk"))print(name.encode("shift-jis"))name = "你好啊"s1 = name.encode("utf-8")print(name.encode("utf-8"))#编码print(name.decode("utf-8"))#解码#用什么编码,就用什么解码print(name.encode("gbk"))print(name.encode("shift-jis"))#日文,不支持中文
总结

以上是内存溢出为你收集整理的python基础知识四 各类型数据方法补充,转换,分类,编码+坑中菜全部内容,希望文章能够帮你解决python基础知识四 各类型数据方法补充,转换,分类,编码+坑中菜所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存