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

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

基本数据类型补充

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"))

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

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

时间: 2024-10-09 13:40:29

基本数据类型补充及二次编码的相关文章

python基础04/基础数据类型补充/以后会遇到的坑/二次编码

python基础04 内容大纲 基础数据类型补充 以后会遇到的坑 二次编码 1.基础数据类型补充 1.1 字符串(str) str: 不可变 1.1 首字母大写: # name = "alex" # name1 = name.capitalize() # print(name1) 1.2 每个单词首字母大写 # name = "alex wusir" # print(name.title()) 1.3 大小写反转 # name = "Alex"

python基础数据类型补充以及编码的进阶

一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住. #captalize :首字母大写 #swapcase :大小写翻转 #title :每个单词的首字母大写 #center :内同居中,总长度,空白处填充 #寻找字符串中的元素是否存在 #find :返回的找到的元素的索引,如果找不到返回-1 #index :返回的找到的元素的索引,找不到报错. #captalize

Mysql学习笔记(二)数据类型 补充

原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与varchar char与varchar的类型相似,但是他们的保存方式和检索方式不同... char的存储结构是固定长度的存储...即指定了几个字节,那么就占用几个字节,如char(4),那么无论存入的是什么字串,那么都占用四个字节...char的 可表示长度范围为0-255的任何值,当保存的字节不

python之数据类型补充、集合、深浅copy

一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址. 小数据池: 前提:int,str,bool 1,节省内存. 2,提高性能和效率. 小数据池是什么? 在内存中,创建一个'池',提前存放了 -5 ~256 的整数,一定规则的字符串和bool值. 后续程序中,如果设置的变量指向的是小数据池的内容,那么就不会再内存中重新创建. 小数据池与代码块的关系

Python从入门到放弃_二次编码_深浅拷贝

# 1.二次编码# encode 编码# decode 解码 # 2.基础数据类型补充 # 列表不能循环添加 变成死循环# 列表使用for循环删除元素 for循环的计数 删除不干净 # 字典删除元素 # 字典for的不能被修改 # dict.fromkeys() #######################坑值是可变类型######################### # 3.深浅拷贝 # 浅拷贝: 只拷贝第一层元素 计算机在找值得过程# 深拷贝 不可变数据类型共用一个内容,可变数据类型重新

七. 基础数据类型补充内容

一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住. #captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='taibai say hi' print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret

python基础之数据类型补充(基础五)

第七章 python基础之数据类型补充(基础五) 7.1 数据类型补充 字符串str,整型int,列表list,元组tuple,字典dict. 7.1.1 字符串str类型补充 s1 = str(123) #类型字符串 s.capitalize() 首字母大写 s = "alex wusir" s1 = s.capitalize() #首字母大写:Alex wusir print(s1) s.title() 每个单词首字母大写 s = "alex wusir" s1

OC的数据类型补充

OC的数据类型补充 1. Block Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或者返回值 苹果官方建议尽量多用Block.在多线程.异步任务.集合遍历.集合排序.动画专场用的很多 Block跟函数很像: 可以保存代码 有返回值 有形参 调用方式一样 补充词汇:templates 模板.minus减法 //定义Block变量 void(^myblock)() = ^{ NSLog(@"--------------------

基础数据类型之集合和深浅copy,还有一些数据类型补充

集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. #关于集合和波尔值之间的苟苟且且# set ={1,2,3,4,5,True,(1,2,3),} #集合具有自动去重和去空格功能# set.add(False)# set.add(True) #打印结果显示,没有Teue,应该是集合内部的数字和元组不