码迷,mamicode.com
首页 > 其他好文 > 详细

基本数据类型补充及二次编码

时间:2019-07-12 21:21:54      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:键值对   删除   enc   print   查找   补充   首字母   字母   tle   

基本数据类型补充及二次编码

基本数据类型补充

1.字符串str

1.1 首字母大写 .capitalize()

name = 'alex'
name = name.capitalize()
print(name)
# 结果:Alex

1.2 每个单词首字母大写 .title()

name = 'alex_sb'
name = name.title()
print(name)
# 结果:Alex_Sb

1.3 大小写反转 .swapcase()

name = 'alex'
name = name.swapcase()
print(name)
# 结果:ALEX

1.4 居中 .center(v1)

name = 'alex'
name = name.center(20)
print(name)
# 结果:
        alex        

? 填充 .center(v1,v2)

name = 'alex'
name = name.center(20,'*')
print(name)
# 结果:
********alex********

1.5 查找 .find()

name = 'alexslda'
s = name.find('l')
print(s)
# 结果:1  返回该字符的第一个索引位置,查找不到返回 -1

? .index()

name = 'alexslda'
s = name.index('l')
print(s)
# 结果:1   返回该字符的第一个索引位置,查找不到报错

1.6 拼接 "字符".join(可迭代对象)

name = 'ALEX'
name1 = '.'.join(name)
print(name1)
# 结果:A.L.E.X

1.7 格式化

? ① .format(对应位置元素) 按照顺序位置填充

print('alex{}{}{}'.format(1,2,3))
# 结果:alex123

? ② name = ‘alex{2},{0},{1}‘

? print(name.format("a","b","c")) 按照索引值进行填充

name = 'alex{2},{0},{1}'
print(name.format("a","b","c")) 
# 结果:alexc,a,b

? ③ name = ‘alex{a},{b},{c}‘

? print(name.format(a = 1,b = 1,c = 67)) 按照关键字进行填充

name = 'alex{a},{b},{c}'
print(name.format(a = 1,b = 1,c = 67)) 
# 结果:alex1,1,67

2.列表list

2.1 定义方法:

? lst = list(v) 参数必须为可迭代对象

lst = list(range(10))
print(lst)
# 结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2.2 其他方法:

? ① 升序排列 .sort()

lst = [1,34,23,56,5,89]
lst.sort()
print(lst)
# 结果:[1, 5, 23, 34, 56, 89]

? ② 反转列表 .reverse()

lst = [1,34,23,56,5,89]
lst.reverse()
print(lst)
# 结果:[89, 5, 56, 23, 34, 1]

? ③ 降序排列 .sort(reverse = True)

lst = [1,34,23,56,5,89]
lst.sort(reverse = True)
print(lst)
# 结果:[89, 56, 34, 23, 5, 1]

? ④ 列表合并 :

  • lst.extend(lst1)

    lst = [1,34,23,56,5,89]
    lst1 = [3,4,65,32]
    lst.extend(lst1)
    print(lst)
    # 结果:[1, 34, 23, 56, 5, 89, 3, 4, 65, 32]
  • lst2 = lst +lst1

    lst = [1,34,23,56,5,89]
    lst1 = [3,4,65,32]
    print(lst + lst1)
    # 结果:[1, 34, 23, 56, 5, 89, 3, 4, 65, 32]
    

*** 列表的可进行 + *(数字)运算

3.元组(tuple)

  • tu = ("1") 括号内数据类型为数据对象本身
  • (1,) 数据类型为元组
  • 元组进行 + *操作时可变数据类型、不可变数据类型均公用

4.字典dict

4.1 随机删除

? .popitem() 可以元组方式返回被删除对象

dic = {'漩涡鸣人':'螺旋丸','佐助':'千鸟流'}
s = dic.popitem()
print(dic,s)
# 结果:{'漩涡鸣人': '螺旋丸'} ('佐助', '千鸟流')

4.2 批量添加键值对

? .fromkey(v1,v2) v1和v2分别对应键和值,v1内容必须为可迭代对象,v2会被公用

dic = {}
dic.fromkeys('123',[23])   #需要新建对象接受
print(dic)
# 结果:{}

5.集合

? set(‘str‘) 迭代添加

se = set('alex')
print(se)
# 结果:{'x', 'e', 'l', 'a'}

注:空字典{} 空集合set()

6.布尔bool

? 值为False的量:数字0 字符串"" 其他None 列表[] 元组() 字典{} 集合set()

数据类型转换

 list  tuple
# tuple list转化
# 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)))
print(dict("{1:1}"))

# set - list
# list - set

python数据类型

可变 : list dict set

不可变:in bool str tuple

有序: list tuple str int bool

无序:dict set

取值方式:

索引:str list tuple

直接:set int bool

键: dict 速度快,消耗最高

二次编码

密码本:
# 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"))

# 以什么编码集(密码本)进行编码就要用什么编码集(密码本)解码

基本数据类型补充及二次编码

标签:键值对   删除   enc   print   查找   补充   首字母   字母   tle   

原文地址:https://www.cnblogs.com/lifangzheng/p/11178397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!