基础数据类型汇总

一.数字类型(int,bool,float)

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间,数字类型是不可变的不可迭代的数据类型

 

1.int(整形)

  int - 通常被称为是整型或整数,主要用于计算.

  int(x)  将x转换成数字类型

  用于比较和计算

  .bit_length #查询数字的位数的方法​

 

2.bool

  布尔值就两种:True,False。就是反应条件的正确与否。

  真   1   True。

  假   0   False。

 

3.float(浮点数)

  小数点可变,浮点数的小数点是不准确的 : 小数的小数位是转换成二进制存储;所有的除法(除了//)得到的都是小数

 

二.序列类型 (字符串 列表 元组)

1.字符串

  字符串:字符串或串(String)是由数字、字母、下划线组成的一串字符,可迭代不可变数据类型.

  eg: s  = "akdsl_asa12121_d"

 

方法:

  .split()         分割     #通过对括号内的元素进行切割来达到分割字符串,并将结果输出到一个列表中
  .strip()         脱    默认消除字符串头尾的空格和换行符   场景:用户输入消除空格
  .replace("x","y")  替换   #括号内前面是需要替换的,后面是替换的
  (" ").join(变量)    插入 拼接  #将列表转成字符串
  .format          格式化输出  可以按照位置参数,索引,关键字填充
  .upper()      全部大写   #应用场景(验证码)
  .lower()      全部小写   #应用场景(验证码)
  .find()      查找 不存在返回 -1 
  .index()      查找 不存在报错 
  .isdigit()     判断是不是纯数字 
  .isalpha()     判断是不是纯字母 

  .center()    居中    前面字符串宽度,后面添加字符
  .count()     统计      str 在 string 里面出现的次数
  .title()        每个单词首字母大写中间用特殊字符隔开(中文算特殊字 .startswith()   以什么开头
  .endswith()    以什么结束
  .isalnum()      是否数字和字母
  .isupper()      是否是全大写
  .islower()       是否是全小写

 

2.列表

以[ ]括起来,每个元素以逗号隔开,而且里面可以存放各种数据类型,是可迭代的可变数据.

方法:

 

  增加:

  . append( ) #追加​​​   默认添加元素进列表最后  列表的嵌套

  . insert ( )​ #插入     括号里前面放插入的位置(索引),后面是插入的内容

  .extend( )​​ #扩展     只能进行迭代添加, 只能在添加到后面,后面添加可迭代对象

  以及+(两个列表相加2)和*列表和整形相乘

  

  删除:

  .remove() #移除   通过放在括号里的指定元素进行删除​​.,后面只能加入一个删除参数.只能删除一个.

  .pop( ) #弹出​​      默认删除最后一个. 后面可以加元素的索引​指定删除的元素

   l = lst.pop()     l是返回值,返回被弹出的的元素​

  .clear( )​       清空 将列表内的元素都删除

   del ​​lst          删除整个列表,即将列表删了

   del lst [ ]        通过索引删除对应的元素​

 

a= [1,2]
a[1] = a        #[1,[1,2]]
print(a[1])     #[1, [...]]
去除列表重复的元素
lst = [1,2,3,42,3,66,45,66]
a = (set(lst))
b = list(a)
print(b)
print(list(set(lst)))
列表:循环删除删除列表的每一个元素

lst = [1,2,3,4,5]
for i in range(len(lst)):
    lst.pop(0)
print(lst)

lst = [1,2,3,4,5]
lst1 = []
for i in lst:
    lst1.append(i)
for k in lst1:
    lst.remove(k)
print(lst)

lst = [1,2,3,4,5]
for i in lst:
    lst.clear()
print(lst)

 

  修改​:

  lst [ ]​ = ' '     具体替换, 利用索引

  lst[0:5] = ' '  当一次性​改多个元素时,当后面是一个元素时,将该元素分开替换,后面是多个元素时,将多个元素分别替换前面的索引.

 

  查找:

  通过for循环查询​​

 

  其他方法:

  ​.reverse( ) #对列表进行翻转​ ,没有赋值

  ​.copy( )

  ​.sort()  #按大小对列表进行排序​默认升序,对于字母按照单词的首字母按26个字母进行排序,升序, 即按照ASCII进行排序 没有返回值

  .sort(reverse=True)    #按照单词的首字母按26个字母进行排序,降序

   列表嵌套:通过下标查找可进行增删改查方法

 

3.元组

  元组只能进行索引和计数,还可以切片,切片切出来的还是元组.也能循环,就是不能更改元祖的内容,可迭代的不可变数据类型

  元组中的元素值是不允许修改的,但我们可以对元组进行连接组合(两个元祖相加),合并是两个的数据类型都应该是tuple​

  

  方法:

  tu.index( )​ #查找​  查找元素的下标位置

  tu.count( )​ #计数  查找元素的个数

 

三.散点类型(字典,集合)

1.字典

字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据,字典是无序存储的.

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}

字典是无序存储的,且key必须是可哈希(不可变的)的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

已知的可哈希(不可变)的数据类型: int, str, tuple, bool 不可哈希(可变)的数据类型: list, dict, set

 

 

方法:

增:

  dic[' '] = ' '                         直接添加.如果这个键不在字典中就是添加,在字典中就是修改

  dic.setdefault(' 键',' 值')    如果在列表中键存在就不进行添加​​,不存在进行添加.如果不写值就默认值为None

  

删:  pop----popitem----del---del[]--dic.clear

  字典删除没有remove

  .pop(键)​                 #删除这个键所对应的键值对,有返回值 #返回这个键所对应的值

  .popitem()              #随机删除,在3.6版本以上删除最后一个,3.5及以下版本随机删除有返回值 #返回的是这个键所对应的键值对,以元组的形式输出.第一个是键,第二个是值

  del dic                    #删除整个字典

  del dic['键']             #通过键删除一个键值对​​​​

  .clear()                   #清空

 

改:

  dic['键'] ="值"                 #如果这个键在字典中就是修改,不在就是添加

  dic1.update(dic2)    #更新  当update中的字典里没有dic中键值对就添加到dic字典中,如果有就修改里边的对应的值

 

查:

  dict.get(key, default=None)   #查询的是键所对应的值,如果没有该建,则默认返回None,返回值可以自己定义.​

  print(dic['键'])       #也是查询键所对应的值,但是没有该键,则报错.​

 

dic = {'a':1,'b':2}
dic1 = {}                       #通过建立一个新的字典
for i in dic:
    dic1[i] = dic[i]             #规避for的循环机制
for i in dic1:
    dic.pop(i)
    print(dic1)

其他操作:

  

  .keys() #对应字典的键   以元组的方式将键放在一个高仿列表里

  .value() #对应字典的值  以元组方式将值放在一个高仿列表里

  .items() #对应字典的键值对 以元组形式将键值对放在一个高仿列表里​​​​​​​之所以叫高仿列表是因为无索引所以叫高仿 

  for k,v in dic.items(): #通过解构赋值

    print('这是键',k)

         print('这是值',v)​

  字典for循环中不能做添加,删除

 

fromkeys:(生成一个字典)

dic = dict.fromkeys(['天涯','明月','海角','welkin'],['流星','蝴蝶'])
# fromkeys 第一是键  第二是值
print(dic)    #{'天涯': ['流星', '蝴蝶'], '明月': ['流星', '蝴蝶'], '海角': ['流星', '蝴蝶'], 'welkin': ['流星', '蝴蝶']}

 

2.集合

集合是无序的,不重复的数据集合,但是集合本身是不可哈希(所以集合做不了字典的键)的.

定义是 s = {}    #当里面没有元素的时候​​表现为字典数据类型 

 

s = {}                                  #空的{}代表空的字典,而不是集合
print(type(s)) 
 
 

集合有两个点:

 
 

  天然去重

 
 

  关系测试,测试两组数据之前的交集、差集、并集等关系.

 
 


增:
.add() #指定元素添加
.update() #迭代添加 无序

 
 

删:
.pop() #随机删除
.clear()
del set
.remove() #通过元素指定删除

 

改:    #先删在填即为该
.remove()
.add()

 

查:(for循环查找)

 
其他操作

交集

a={1,2,3,4,5}
b={4,5,6,7,8}
print(a&b)      #{4, 5}   交集
并集

a={1,2,3,4,5}
b={4,5,6,7,8}
print(a|b)   #{1, 2, 3, 4, 5, 6, 7, 8}     并集
差集

a={1,2,3,4,5}
b={4,5,6,7,8}
print(a-b)   #{1, 2, 3}     差集
反交集

a={1,2,3,4,5}
b={4,5,6,7,8}
print(a^b)   #{1, 2, 3, 6, 7, 8} #反交集    并集-重复的
子集和超集

a={1,2,3}
b={1,2,3,4,5}
print(a<b)   # a是b的子集
print(b>a)    #b是a的超集


frozenset不可变集合,让集合变成不可变类型 s = frozenset('carry') print(s,type(s)) # frozenset({'a', 'c', 'r', 'y'}) <class 'frozenset'>

 

 四.基础数据类型转换

数据类型:str,int,bool,list,dict,tuple,set
所有数据都可以转化成字符串
其他数据类型不能转化成字典
list(set) #集合转换成列表
set(list) #列表转化成集合
list(tu) #元组转列表
set(tu) #元组转集合
tuple(set) #集合转元组
list(str) #字符串转化成列表 迭代形式的列表
set(dic) #字典转化集合 输出键组成集合

bool(" ") #True
bool("") #False
bool(""或0或None或空[]或空字典{}或空()或空集合{}) #输出的结果都是False

将小数转化成整数:

int(float)

round(float)

print("%.0f"%float)

  

 

练习区域:

字符串练习

i = "welkin"            #验证码不区分大小写应用场景
yzm = input("请输入验证码:")
if yan.lower() == yzm.lower():
    print("验证成功")
else:
    print("验证失败")

user= input("请输入用户名:").strip()        #应用场景:登录账号时,用户名和密码多按空格
pwd = input("请输入密码:").strip()
if user == "welkin" and pwd == "123456":
    print("登陆成功")
else:
    print("登录失败") 
name = '{2}老师真{1}{0}'
s = name.format('某某','','漂亮')
print(s)        #漂亮老师是某某      按照format括号内的索引添加
name = '{}老师真{}{}'
s1 = name.format('某某','','漂亮')
print(s1)           #某某老师是漂亮     #按照format括号内的顺序添加
name = '{a}老师真{b}{c}'
s2 = name1.format(a ='某某',b= '',c='漂亮')
print(s2)      #某某老师是漂亮
# 字符串抓换成列表
a = "alexcellshell"
b = a.split()
print(b)  #['alexcellshell']
c = a.split("e")
print(c)        #['al', 'xc', 'llsh', 'll']

lis = ["1","2","3"]
a = "_".join(lis)
print(a,type(a))        #1_2_3 <class 'str'>

 

 

转载于:https://www.cnblogs.com/shmilyxue/p/9898359.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值