博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础之数据类型(二)
阅读量:4884 次
发布时间:2019-06-11

本文共 4501 字,大约阅读时间需要 15 分钟。

数据类型分类

  一:可变不可变

    可变:列表,字典
    不可变:数字,字符串,元组

  二:存放值的个数

    一个值:数字,字符串
    多个值(容器类型):列表,元组,字典

  三:取值方式

    直接取值:数字
    序列类型:字符串,元组,列表
    映射类型:字典

  可变或者不可变的定义:在id和type不变的情况下,值可变的数据是可变类型.id,type,value都不可变的是不可变类型

一、列表

  特性:list中的元素可以随意删除增加且list的id和type不会改变,ist是一种可变类型.列表中的所有元素可以是 int 可以是 str 也可以是list(子列表).list中的值是有序的.

  定义列表:l=[11,22,33,44,55,66]
  取值:通过索引
    print(l[1])
  循环: 
l=[1,2,3,[4,5]]c=len(l)for i in range(c):    z=l[i]    if type(z) is list:     #z是列表,z=[4,5]        for j in range(len(z)):            print(z[j])    else:     #z不是列表,直接打印        print(z)
  列表的常用操作
  切片
  l=[11,22,33,44,55,66]
  print(l[1:5])
  追加
  l.append()     向后追加元素
  插入
  l.insert(1,‘SB’)          在指定索引的位置插入值
  删除
  l.pop()          移除最后一个值    a=.pop() 在原列表中移除掉最后一个元素并赋值给a
  显示索引位置
  l.index()     获取指定元素的索引位置
  包含
  print(11 in l)
  其他
  .count()     查看有元素出现的次数
  .extend()     批量添加元素
  .remove()     移除某个元素
  .reverse()     把所有元素顺序倒过来,反转
  .sort()     排序
  del 列表名[1]     删除索引指向的元素
   #字符串——>数字    int(字符串)

二、元组      

  特性:元组内的所有元素不能更改,元素可以是任意数据类型

  元组中可以包含list,元组中的list中的元素是可以更改的.当然list中也可以有元组.

  定义元组

  name_tuple = ('alex','eric')
  索引
  print(name_tuple[0])
  len
  print(name_tuple[len(name_tuple)-1])
  切片
  print(name_tuple[0:1])
  for
  for i  in name_tuple:
       print(i)
  count:计算元素出现的个数
  print(name_tupel.count('alex'))
  index:获取指定元素的索引位置
  print(name_tupel.index('alex'))
 
 

三、字典  

  {花括号}    dict          可变类型,key不可变,value可变
  字典定义的基本形式:key:value
  定义字典需要注意:key必须是不可变类型,或者说是可hash类型
  字典的取值,字典是无序的,不可用索引
  字典的取值需要打印key
#字典的常用方法#定义字典d={
'x':1,'y':12222}#长度 len(d)#新增 d['x']=2 print(d)#遍历print(d.items()) for item in d.items(): #[('x', 1), ('y', 12222)] print(item) #以元组的形式取出键值对 for k,v in d.items(): #解压键值对 print(k,v) print(d.keys()) # 获取所有的key print(d.values()) # 获取所有的values print(d.itmes()) #获取所有的元素查找 print(d.get('y')) print(d.get('y','找不到')) print(d.get('e','找不到'))删除键值对 d.pop('x') print(d)随机删除键值对 print(d.popitem()) print(d)清除元素 d.clear()print(d)#快速产生字典 d1={} d2=dict() d3=dict(x=1,y=2,z=3) d4=dict({
'x':1,'y':2,'z':3}) d5=dict([('x',1),('y',2),('z',3)]) d6={}.fromkeys(['name','age'],None) #把key的值都设置成None,用于创建初始的字典 print(d1,d2,d3,d4,d5,d6)#更新字典元素,覆盖 d={
'name':'alex'} d1={
'name':'alexsb','age':50} d.update(d1) print(d)
  d.clera()              #清楚所有内容
  get  根据key获取值,如果key不存在,可以指定一个默认值
  val = d.get('x')          #获取age的对应值
  val = d.get('age111','123')     #获取age111的对应值,如果没有,默认就把123定义为val的值
  索引取值时,key不存在报错
 
  print(‘age’in info)     #判断age是否存在于字典info
 
  del d[‘x’]     #删除字典里的指定元素
 
  enumerate自动生成一列,默认从0开始,可以添加数字指定

四、集合

集合作用一:关系运算集合作用二:去重#定义集合: #集合内的元素必须的唯一的#集合内的元素必须是可hash(不可变)的#集合是无序的 s={
'sam',123,'sam'}print(s,type(s))#循环 s={
'1',1,(1,2),'a'} for i in s: print(i)#关系运算 python_l={
'egon','alex','铁蛋','老王'} linux_l={
'alex','铁蛋','矮跟','欧德博爱'} #取共同部分:交集 print(python_l & linux_l)# #取老男孩所有报名学生:并集 print(python_l | linux_l) #取只报名了python和只报名了linux的学生:差集 print(python_l - linux_l) print(linux_l - python_l)# #取没有同时报名python和linux的学生:对称差集 print(python_l ^ linux_l)#集合方法 python_l={
'egon','alex','铁蛋','老王'} linux_l={
'alex','铁蛋','矮跟','欧德博爱'} print(python_l.difference(linux_l))#python -linux print(python_l.intersection(linux_l))#交集 print(python_l.union(linux_l))#并集 print(python_l.symmetric_difference(linux_l))#对称差集 python_l={
'egon','alex','铁蛋','老王'} linux_l={
'alex','铁蛋','矮跟','欧德博爱'} python_l.difference_update(linux_l) print(python_l) #对称差集并更新 s1={
'a',1} s2={
'a','b',2} s1.update(s2) print(s1) #把S2的内容更新到S1里 s1={1,2} s2={1,2,3} print(s1.issubset(s2))#子集 print(s2.issuperset(s1))#父集 s1={
'a',1} s1.add(1) print(s1) #添加元素,元素存在不修改 s1.discard('a') #删除元素,元素不存在也不报错 s1.discard('b') print(s1) s1.remove('nnnnnn') #删除元素,元素不存在就报错 print(s1) s1={
'a',1,'b','c','d'} print(s1.pop()) #.pop随机删除 print(s1) s1={1,2,'a'} s2={1,2,3}print(s1.intersection(s2)) #判断是否有交集,有则返回值print(s1.isdisjoint(s2)) #判断是否没有交集,有则返回False s1={
'a','b'} s2={
'c','d'} print(s1.isdisjoint(s2)) #没有交集返回True

 五、补充

  变量的组成:变量名,赋值符号,变量值

  在Python中数据又称为对象,每创建一个对象都会创建对象的id,type,值.

   比较方法:
  身份比较:is     比较的是变量值的id
  值比较:==      比较变量的值
  类型比较:type  比较变量的类型
  变量的赋值:
  链式赋值
  a=b=c=d=1
 
  多元赋值
    xy的值互换
    x = 1
    y = 2
    方法一:
    z = x
    x = y
    y = z
    方法二:
    python中: x,y=y,x
 
  增量赋值
    x=1
    x+=1
    x-=1
    x*=1
    x/=1
 
  解压序列类型:
    s = 'hello'
    a = s[0]
    b = s[1]
 
    a,b,c,d,e=s
    只打印出 对应的  a 和 e的值,使用'_'来填充中间的变量, '_'约定俗称代表丢弃的变量
    a,_,_,_,e = s
    a,*_,e    #使用*_ 代表中间全部
 
  
  

转载于:https://www.cnblogs.com/78pikaqiu/p/6963381.html

你可能感兴趣的文章
(五)jdk8学习心得之默认方法
查看>>
PHP与ajax,无刷新表单提交
查看>>
矩阵快速幂 -- 兔子繁殖(也就是斐波那契数列啦)
查看>>
Django content_type 简介及其应用
查看>>
poj 1222 EXTENDED LIGHTS OUT
查看>>
qq直聊(1679148947为账号,可以更改)
查看>>
机器学习/深度学习常用资源
查看>>
推荐系统CTR预估-PNN模型解析
查看>>
asp.net core-15.Individual authentication 模板
查看>>
数梦工场:新思维、新技术下的互联网+政务
查看>>
关于java集合的一些操作
查看>>
消息队列—ActiveMQ
查看>>
又强大又方便的 IcoMoon 图标字体
查看>>
05.SSL或TTL应用编程
查看>>
PostgreSQL自学笔记:5 数据类型和运算符
查看>>
Android学习_7/25
查看>>
3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
查看>>
[异能程序员]第一章 酒后事发(第一更)
查看>>
系统设计
查看>>
宏替换
查看>>