Python - 数据类型(概览)
字符串 str
# a ="asd bfg"
# print(a.capitalize()) #首字母大写
# print(a.title()) #每个单词首字母大写
# print(a.swapcase()) #大小写反转
# print(a.center(20,"*")) #居中-填充
# print(a.find(a)) #查找-通过元素查找索引,查到不到就返回-1
# print(a.index(a)) # #查找-通过元素查找索引,查到不到就报错
#print("_".join(a)) #拼接,可以将列表转换成字符串
# str + str
#str * 5
# print(a+a)
# print(a*5)
# 字符串进行加操作, 乘操作 都是新开辟空间
#在python中引号引起来的就是字符串
#字符串是用来存储少量数据的
索引(下标)
# name = "meat"
# meat 每一个字母叫做一个元素
# 0123 从左向右
#-4-3-2-1 从右向左
# 索引(下标) 通过索引可以精确的定位到某个元素
# print(name[-1])
# name = "今天是个好日子"
# 0 1 2 3 4 5 6
#-7-6-5-4-3-2-1
# a = name[0]
# b = name[1]
# print(a+b)
切片
# print(name[0:2]) # 顾头不顾尾 name[起始位置:终止位置]
# print(name[:]) # 某个位置不指定的时候默认取最后或最前
# print(name[2:5])
# print(name[-2:-5])
# print(name[-2:-5:-1]) # [起始位置:终止位置:步长] 步长默认为1
注意事项:
1:切片的时候起始位置和终止位置都超出的时候不会进行报错
2:索引的时候索引值超出范围的时候会报错
字符串的方法
全部大写 小写
例子:
s = "abc"
# s1 = s.upper() #全部大写 upper(全部大写)
# print(s1)
# s1 = s.lower() # 全部小写 lower(全部小写)
# print(s1)
应用场景
s=input("输入验证码")
if s.lower()=="aNF5".lower():
print("验证码正确")
else:
print("验证码错误!")
以什么开头:
s="yuanchunjuan"
s1=s.startswith("a",2,10) startswith
print(s1)
以什么结尾:
s="yuanchunjuan"
s1=s.endswith("n",11,12) endswith
print(s1)
统计
# 统计
# s = "yuanchunjuan"
# s1 = s.count("u") count
# print(s1)
脱
字符串头尾两端的空格和换行符以及制表符
# s = "alexdsba"
# s1 = s.strip("a") # 可以指定内容取脱
# print(s1)
分割
以空格和换行符以及制表符进行分割
# s = "aelxlaaa"
# s1 = s.split("l",maxsplit=1) # 可以通过指定方式进行切割
# print(s1)
替换
# s = "大黑哥吃肉夹馍,肉夹馍"
# s1 = s.replace("肉夹馍","大煎饼")
# s1 = s.replace("肉夹馍","大煎饼",1) # 指定替换的次数
is系列
# s = "12.3"
# print(s.isalnum()) # 判断是不是字母,数字,中文
# print(s.isalpha()) # 判断是不是字母,中文
# print(s.isdigit()) # 判断字符串是不是全都是阿拉伯数字
# print(s.isdecimal()) # 判断是否是十进制数字
列表 list
# 列表的定义
# print(list("1233"))
# 列表的方法:
# lst = [1,2,6,3,4,8,9]
# print(lst.index(3)) #通过元素名字查找索引 找不到就报错
# lst.sort()
# print(lst) #排序 默认是升序
# lst.sort(reverse=True)
# print(lst) # 降序
# lst.reverse()
# print(lst) #将源数据进行反转
# lst = [1,2,6,3,4,8,9]
# lst1 = lst[::-1]
# print(lst)
# print(lst1) #不修改源数据进行反转
# ********切记 列表在进行乘法的时候.元素共用的
列表---list
有序,可变,索引。
作用:存储数据的,支持很多种数据类型
定义方式:
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
增
append(追加:在列表最后一个内容添加一个内容
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
lst.append("网吧")
print(lst)
insert(插入:尽量不要使用,当数据量较大的时候会影响效率)
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
lst.insert(2,"你好")
print(lst)
extend("可迭代的内容") #迭代添加
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
lst.extend("wo")
print(lst)
[1, 'yuan', '游戏', 'w', 'o']
删
pop(弹----默=默认删除最后一个)
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
lst.pop()
print(lst)
repr() 查看数据的原生态
remove(移除--通过元素名称进行删除)
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
lst.remove("游戏")
print(lst)
0通过索引删除
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
del lst[0]
print(lst)
['yuan', '游戏']
通过切片删除
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
del lst[0:3]
print(lst)
[]
通过步长删除
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
del lst [0:3:2]
print(lst)
['yuan']
清空列表
lst=[1,"yuan","游戏"]#用逗号分隔的是一个元素
lst.clear()
print(lst)
[]
改
- 元素可以超出切边的位置
- 元素和位置一一对应,多也不行,少也不行
lst=[0,1,2,3,4,5,6]
lst[2]="4"
print(lst)
[0, 1, 4, 3, 4, 5, 6]
lst=[0,1,2,3,4,5,6]
lst[1:2]="10", #如果不加逗号,10就会被分开0,1
print(lst)
[0, '10', 2, 3, 4, 5, 6]
lst=[1,3,"你好","ab",True]
lst[1:4]=12,13,14,15,16
print(lst)
[1, 12, 13, 14, 15, 16, True] #可以索引范围就会
lst=[1,3,"你好","ab",True]
lst[1:4:2]=12,13 #步长 元素和位置一一对应,多也不行,少也不行
print(lst)
[1, 12, '你好', 13, True]
查
for 循环
lst={1,2,3,4,5,"ab",游戏}
for i in lst:
print(i)
字典
字典---dict
字典--dict 字典中逗号分隔叫做一个元素
字典是无序的,可变的数据类型
字典:用于存储数据,存储大量数据 字典要比列表快 将数据和数据之间进行关联
字典的键
可哈希的--不可变的数据类型 --避免哈希冲突使用 开放寻址发
不可哈希--可变的数据类型
要求唯一--如果有重复的,后边的值会将前面的值覆盖
# 定义一个字典的:
1 dic={"张三":20,"李四":30,"小王":50,"伽罗":60}
2 dict(a=1,b=2)
3 dict([(1,2),(2,3),(4,5)])
字典的值
可以任意
增
dic["键"]="值" #暴力添加
dic.setdefault("键","值") #存在不添加
# dic={"张三":20,"李四":30,"小王":50,"伽罗":60}
# 字典的增
# dic["小熊"]=23
# print(dic)
# dic.setdefault("小熊",25)
# print(dic)
删
del dic["键"]
dic.pop("键")
dic.clear() 清空
# 字典中的删
# dic={"张三":20,"李四":30,"小王":50,"伽罗":60}
# del dic["张三"]
# print(dic)
# dic.pop("张三")
# print(dic)
# print(dic.pop("张三")) # 返回值
# dic.clear() #清空
# print(dic)
改
dic["键"]="值"
dic.update("要更新的字典")
# 字典的改
# dic={"张三":20,"李四":30,"小王":50,"伽罗":60}
# dic["张三"]=13
# print(dic)
# dic["张四"]=20
# print(dic) 有则该 无则加
# dic1={"张三":30,"大炮":70,"火箭":90}
# dic1.update(dic) undate括号中的字典级别高于括号前面的字典
# print(dic1)
查
for 循环查询的是字典的键、
get("键") 存在返回字典中键对应的值、不存在返回Nonebey
dic["键"] 存在返回字典中键对应的值。不存在报错
# 字典的查
dic={"张三":20,"李四":30,"小王":50,"伽罗":60}
# for i in dic: #循环获取的是字典中每个键值对中的键
# print(i)
# for i in dic:
# print(i,dic.get(i)) #获取所有的键和值
# print(dic.keys())
# for i in dic.keys(): #获取字典中所有的键
# print(i)
print(list(dic.values())) # 获取字典中所有的值
# print(dic.items())
# for i in dic.items():
# print(i[0],i[1])
其他操作
1,keys---获取字典中所有的键 存放在一个高仿列表中
2,values--- 获取字典中所有的值 存放在一个高仿列表中
3,items--- 获取字典中所有的键与值 存放在一个高仿列表里的元组(元组的第一个元素:键,第二个元素是:值)
# print(list(dic.values())) # 获取字典中所有的值
# 解构
# a=10 a,b =10,20
# b=20
# a,b=b,a
# a, b = 10, 20
# print(a,b)
# a,_,b =(1,2,3) #等号后面的值和前面的变量名要一一对应
# print(a,b)
# for k,v in dic1.items():
# print(k,v) # 获取每个元素的键和值
总结
可变,不可变,有序,无序
# 1.可变:
# list
# dict
# set
# 2.不可变:
# int
# str
# bool
# tuple
# 3.有序:
# list
# tuple
# str
# 4.无序:
# dict
# set
取值方式:
# 1.索引
# list
# tuple
# str
#
# 2.键
# dict
#
# 3.直接
# int
# bool
# set