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
posted @ 2019-08-09 15:10  赵刚、  阅读(219)  评论(0编辑  收藏  举报