首页 > 编程语言 > 详细

python数据类型

时间:2020-02-29 21:20:15      阅读:73      评论:0      收藏:0      [点我收藏+]

str

# 字符串 -- 用于存储数据的 -- 比较少
# python 中只要是用引号 引起来的就是字符串
# 支持索引(引取值的时候超出了索引的范围会报错),切片(切片如果终止位置超出了不报错),步长
注意事项
list('1234')#['1', '2', '3', '4']

str的方法

字符串方法 其实就是调用类的方法 字符串是数字不会报错
b='  aBdsfdfhgjkc6'
# print(b.upper())# 全部大写
# print(b.lower())# 全部小写

# print(b.startswith('a'))  # 以什么开头
# print(b.endswith("c"))# 以什么结尾
# print(b.count("zhu"))   # 查询某个内容出现的次数
# b1 = b.replace('n','s',2)  # 替换  2是替换的次数 第一个参数旧的 第2个新的
# b2 = b.strip('6')  #返回移除字符串头尾指定的字符生成的新字符串 (只要头尾包含有指定字符序列中的字符就删除:) 默认去空格
# str.split(第1个参数,第2个参数) 返回列表
# 第1个参数 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
# 第2个参数 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

# is 系列  -- 判断
# print(name.isdecimal()) # 判断是不是十进制  -- 用它来判断是不是数字
# print(name.isalpha())    # 判断的是中文和字母
# print(name.isalnum())     # 判断的是不是字母,中文和阿拉伯数字

补充
str
首字母大写 capitalize()
s1 = object.capitalize()
每个单词首字母大写 title()
s = "alex wusir"
s1 = s.title()
统计出现的次数count()
print(s.count("a"))
大小写转换 swapcase()
print(s.swapcase())
利用元素找索引 find()
print(s.find("c"))     # find 查找不到的时候返回 -1
print(s.index("C"))    # index 查找不到就报错

切片小列题

# 从左向右数 0,1,2,3
# 从右向左数 -1,-2,-3,-4
# a='123456789'
# print(a[::3])
# print(a[1:5])
# print(a[0],a[-1])

bool

# bool # 布尔值 -- 用于条件使用
# True  真
# False 假

# print(bool(0))
# True 转化成数字 1   False 转换成数字 0
# 非0 非空(空字符串,空列表,空元祖,空集合,空字典) 就是True
# print(type(str(True))) 布尔值可以转换成字符串

int

int可以运算
# print(num.bit_length())  # 求十进制数转换成二进制时所占用的位数
# 10进制转2进制 8421

int的方法

list

# 什么是列表? 就是一个容器,任意类型都可以放到容器中
# list  []  多个元素 每个元素中间用,逗号隔开
# 有序的?  按照咱们写的顺序输出  支持切片,步长
# 可变的 -- 可以在本身上进行修改  可以增加 - 删除 - 修改
# 列表不能用insert
    #效率低了一个变后面都会变 补位
# 列表不能用pop(n)
    ##效率低了一个变后面都会变 补位

创建列表

# 创建列表3种方式 (列表推导式,自己创建)
# 第一种
# l1 = [1,2,3,'123',True,[1,2,5]]
# 第2种
# l1=[i for i in range(9)]

list增删改查

# 方法
l1 = [1,2,3,'alex',3,[1,2,3]]
l1.append('sq') #追加  添加在末尾  添加的操作
l1.insert(0,"mcsq") #插入 第一个参数(索引),第二参数要插入的内容
l1.extend("abc")                # 扩展 -- 迭代添加  -- for
l2 = ["a","b","c"]+[1,2,3]# 列表合并["a","b","c",1,2,3]
l3=[[]]*3#[[], [], []]列表相乘

# 删
# l1.remove(1)   # 删除   按照元素名进行删除
# print(li.pop(索引))
# 弹 pop有返回值  返回的是被删除的内容# 默认删除的是最后一个# 可以通过索引指定删除

del l2#将整个容器都删掉了
# del l2[2]   #del 支持索引删除
# del l2[0:3]   #del 支持切片删除
# del l2[::2]    # del 支持步长删除
# 清空
# li.clear()  # 清空里面元素 列表还在

# 索引改
# li = [0,1,2,3,4,5]
# # li[0:2] = []  # [2, 3, 4, 5]  # 没有步长迭代进去的 可以多,可以少
# li[::2]=[1,2,3]#有步长,不可以多,不可以少 否则报错
# print(li)

列表的嵌套:

# 抽丝剥茧
补充方法
list
l1=[1,2,3,4,5,6,6,5,4,3,2,1]
list:
计数count()
print(li.count("1"))
利用元素找索引 find()
print(li.index("C"))    # index 查找不到就报错
反转 reverse()原列表反转
l1.reverse()
排序 原列表升序或降序
li.sort()  # 升序
li.sort(reverse=True)

tuple

# 元组
# 元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变
# 只有当元组内的所有元素都为不可变类型的时候,才能成为字典的key
# 小括号中一个元素的时候没有逗号就括号中元素的本身
# 小括号中一个元素的时候有个逗号就是元组
# 空的小括号就是元组

# 元组有序:
# 索引,切片,步长
# 元组不可变数据类型

元祖不可以增删改 可以 索引 切片
# 元组的嵌套:

为什么要有元祖?
保护数据安全
方法补充
tuple
tu=(1,2,3)
tuple:
计数
print(tu.count("3"))
利用元素找索引 index()
print(tu.index("1"))

拆包

# 拆包
# a = 1
# b = 2
# a,b = b,a
# print(a,b)

字典dict

# 字典是什么?
# dict
# {} "键":"值"   一个键对应一个值 
# dic = {"key":"value",1:2,2:3}
# 键:必须是可哈希(不可变的数据类型),并且是唯一的
# 值: 任意

# 字典的无序的,python3.6版本以上 默认了咱们定义顺序,python3.5以下是随机显示
# 字典比较消耗内存  最常用的数据 : 字符串,列表,字典
# 有明确的对应关系时,推荐使用字典   字典一定要用明白  -- json

增删改查

# dic = {"a":"b","b":"c"}
# 增:
# dic.setdefault("key","values")#存在就不添加,不存在就添加
# dic["s"] = "ssss"   # dic[键] = 值
# 删:
# print(dic.pop("a"))   #通过键删除  pop具有返回值,返回的被删除的值
# del dic["b"]   #删除指定的键值对
# del dic   #  删除整个字典
# dic.clear()    # 清空字典元素
# 改:
# dic["b"] = "这是值"   # 键在字典中存在就是修改,键在字典中不存在就是增加
# dic.update({6:6})   # update括号里的字典级别高有更新覆盖 无则添加

# 查:
# 字典的查询只能通过键获取值,不能通过值获取键
# print(dic["c"])  键不存在的时候不报错
# print(dic.get("c","不存在"))# 键存在返回值,键不存在设定第2参数的时候不报错

# dic = {1:2,"a":"a1"}
# for i in dic:   # for循环字典的时候打印的是字典的键
#     print(i,dic[i])
# for k,v in dic.items():
#     print(i)

补充方法
dict
dict:
dic = dict(k=1,k1=123,k2="aa",k3=222,k4=1123123)   # 定义方式
批量创建字典
dic = {}
dic1 = dict.fromkeys("abcdef",[4,5,6])
第一个参数可迭代对象
第二个参数是每个键对应的值 -- 用的都是同一个内存地址
dic.popitem()   #随机删除
python3.6版本 默认删除最后个键值对
python3.5版本以前 随机删除
批量创建字典
dic = {}
dic1 = dict.fromkeys("abcdef",[4,5,6])
第一个参数可迭代对象
第二个参数是每个键对应的值 -- 用的都是同一个内存地址

字典的嵌套

# 字典的嵌套:

枚举

# 枚举 默认从0开始
# enumerate()
list = ['a','b', 3, 4, 5, 6]
for i, j in enumerate(list):
    print(i+1,j)

集合 增删改查

# 集合就是一个没有值的字典,遵循:唯一,无序,元素要求可哈希(不可变)
# 集合是无序的
# 集合是可变的
# 集合里面有元祖,只有当元组内的所有元素都为不可变类型的时候才可以做集合元素
# 创建set
# s = set("1234")   # 定义方式
s={1,2,3,"123",False,(1,2,3,4,)}
print(s,type(s))

# 增:
# s.update("3456")  # 迭代添加
# s.add("怼怼")
#删:
# s.pop()   #随机删除
# s.clear()    # 清空
# del s        #删除整个集合
# 改:
# 删了,在加
# 查:
# for

# 天然去重   --  唯一  列表去重

# print(s1 - s2)  #差集
# print(s1 | s2)  #并集   (合集)
# print(s1 & s2)  #交集
# print(s1 ^ s2)  #对称差集  -- 反交集
# print(s1 > s2)  # 超集   -- 父集
# print(s1 < s2)  # 子集

# 冻结集合(可变 转换成 不可变)  -- 更不常用
# f_s = frozenset({1,2,3,4,5})
# dic = {f_s:"1"}
# print(dic)

python数据类型

原文:https://www.cnblogs.com/saoqiang/p/12386071.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!