欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据类型 _python

程序员文章站 2022-06-08 09:22:30
字符串 str 索引(下标) 切片 字符串的方法 全部大写 小写 以什么开头: 以什么结尾: 统计 脱 字符串头尾两端的空格和换行符以及制表符 分割 以空格和换行符以及制表符进行分割 替换 is系列 列表 list 增 append(追加:在列表最后一个内容添加一个内容 insert(插入:尽量不要 ......

字符串 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