zoukankan      html  css  js  c++  java
  • Python 语法基础(3)_数据类型补充

    一、列表

    关键字list
    写法格式
    list_name=[]

    列表方法(增加)

    lst=['窗前明月光','举头望明月','低头思故乡']
    lst.append('疑是地上')#追加 这个是在末尾加一个
    print(lst)
    
    lst.insert(1,'疑是地上霜')#插入 下标的前面
    print(lst)
    
    lst.extend('今天是新的一年')#扩展 ————迭代添加 意思就是分开了
    print(lst)
    
    

    列表方法(删除)

    lst=['窗前明月光','疑是地上霜','举头望明月','低头思故乡']
    del lst#删除了整个列表
    print(lst)
    
    del lst(1:)#删除单个列表
    print(lst)
    
    del lst(1:3)#删除通过索引
    print(lst)
    
    del lst(1:3:1)#删除通过切片 +步长
    print(lst)
    
    lst.remove('举头望明月')#移除通过内容
    print(lst)
    
    lst.pop(1)#没有指定,移除默认最后一个
    print(lst)
    
    lst.clear()#清空列表
    print(lst)
    
    #有返回值的删除
    lst=['窗前明月光','疑是地上霜','举头望明月','低头思故乡']
    ret=lst.pop(0)#指定下标删除
    print(lst)
    print(ret)#返回被删除的内容
    

    列表方法(修改)

    #通过下表修改
    lst=['杨紫','高圆圆','刘亦菲','关晓彤']
    lst[0]='bb'
    print(lst)
    

    列表方法(查询)

    #使用循环查询
    lst=['杨紫','高圆圆','刘亦菲','关晓彤']
    for i in lst:
     print(i)
    #使用下标查询
    print(lst[0])
    

    列表方法(其他操作)

    #列表通过内容查找下标
    lst=['杨紫','高圆圆','刘亦菲','关晓彤']
    ret=lst.index('高圆圆')
    
    #列表通过内容查的计数
    lst=['杨紫','高圆圆','刘亦菲','关晓彤']
    print(lst.count('高圆圆'))
    
    #列表的复制
     lst=['杨紫','高圆圆','高圆圆','关晓彤']
     ret=lst.copy()
     print(ret)
     print(lst)
    
    #列表内容的翻转
    lst=['杨紫','高圆圆','高圆圆','关晓彤']
    ret=lst.reverse()
    print(ret)
    print(lst)
    
    #列表的排序 他是升序
    lst=[1,5,99,2,999,77,66]
    lst.sort()
    print(lst)
    
    #列表的排序 他是降序
    lst=[1,5,99,2,999,77,66]
    lst.sort(reverse=True)
    print(lst)
    
    #列表嵌套
    lst=['无敌','dada','555',999,['马赛克','lll']]
    print(lst[4][1])
    

    二、元祖

    关键字 :tuple

    1. 可以使用下标,元祖,切片,步长。

    2. 只有两个方法 count 和index

    3. 元祖是不可变数据,不可以进行修改存放一些用户密码的是

    rang(0,10)的范围
    #python 3中的range(0,10)是一个可迭代对象
    #python 2中xrange和python 3一样
    print(range(0,10))
    #输出结果如下___________________________
     range(0,10)
        
    #python 2的range是获取到一个列表
    print(range(0,10))
    #输出结果如下______________________________
    0123456789
    

    元祖查询

    #元组可以使用下标索引来访问元组中的值
    #如下实例:
    tup1 = ('physics', 'chemistry', 1997, 2000)
    tup2 = (1, 2, 3, 4, 5, 6, 7 )
     
    print "tup1[0]: ", tup1[0]
    print "tup2[1:5]: ", tup2[1:5]
    
    结果如下
    tup1[0]:  physics
    tup2[1:5]:  (2, 3, 4, 5)
    

    修改元组

    #元组中的元素值是不允许修改的,
    #但我们可以对元组进行连接
    #如下实例:
    tup1 = (12, 34.56)
    tup2 = ('abc', 'xyz')
     
    # 以下修改元组元素操作是非法的。
    # tup1[0] = 100
     
    # 创建一个新的元组
    tup3 = tup1 + tup2
    print tup3
    
    结果如下
    (12, 34.56, 'abc', 'xyz')
    

    删除元组

    #元组中的元素值是不允许删除的,
    #但我们可以使用del语句来删除整个元组,
    #如下实例:
    tup = ('physics', 'chemistry', 1997, 2000)
    print tup
    del tup
    print "After deleting tup : "
    print tup
    

    注意!!!

    rang 和切片一样
    rang 第一个是起始位置 第二个是终止位置 第三个是步长
    终止位置和切片一样顾头不顾尾 用逗号分开

    三、字典

    关键字dict 名字 ={'键位' :冒号 '值'}

    #例子如下
    dicter={'A'=1}
    
    
    • 字典用来存储大量数据
    • 字典的键是不可变数据类型
    • 字典的键不能重复,重复的话就会把值覆盖
    • 字典的值,可以随意
    • 字典中没有remove方法

    字典方法(增加)

    方法一

    dic={'01':'SkyRabbit'}
    dic[2]='王思聪'
    print(dic)
    

    方法二

    • setdefault的工作流程
    • 先通过字典中通过值去查询有没有这个值
    • 如果有值 就不能添加
    • 如果没值 就添加
    dic={'01':'SkyRabbit'}
    dic.setdefault(11,'王健林')
    print(dic)
    

    字典方法(删除)

      dic={'01':'SkyRabbit'}
      del dic#删除整个字典
      
      dic={'01':'SkyRabbit'}
      del dic['01']#通过键删除
      
      dic={'01':'SkyRabbit'}
      dic.pop() #通过指定键删除,或者默认删除后面的
      
      dic={'01':'SkyRabbit'}
      dic.clear() #清空
      
      dic.popitem()#随机删除 在3.6版本中只删除最后一个  3.6以下随机
    

    字典方法(修改)

        dic={'01':'SkyRabbit'}
        dic.update({'01':'王健林'})#被更新的内容如果存在 那么更新的内容中的值就会被覆盖
        print(dic)
        
        
        dic={'01':'SkyRabbit'}
        dic1={'02':'王健林'}
        dic.update(dic1)
        print(dic)
        #如果两个字典中都没有一样的就是会合并
        
        dic={'01':'SkyRabbit'}
        dic['01']='王健林'
        print(dic)#字典的增 是字典中没有的时候才叫增,如果字典中这个键存在就叫做修改
        
    

    字典方法(查找)

    #字典通过键去查找值 如果键不存在就会报错 写法如下 
    dic={'01':'SkyRabbit'}
    print(dic['01'])
    
    dic={1:'SkyRabbit'}
    print(dic[1])
    
    #通过键查找使用方法 如果不存在不会报错,而是返回None
    dic={'01':'SkyRabbit'}
    print(dic.get('01'))
    
    #不存在返回None
    dic={'01':'SkyRabbit'}
    print(dic.setdefault(11))
    

    字典方法(其他操作)

    #获取所有键和值 方法一
    dic ={1:"A",2:'B'}
    for	i in dic:
    	print(i,dic[i])
    #获取所有键和值 方法二
    dic ={1:"A",2:'B'}
    for	i,v in dic.items():
    	print(i,v)
        
    #获取所有键
    dic ={1:"A",2:'B'}
    print(dic.keys())
    
    #获取所有值
    dic ={1:"A",2:'B'}
    print(dic.values())
    

    四、集合

    Set 关键字
    用来存储数据 ,天然去重,无序的 ,不可以使用下标
    集合里面的元素只可以放可变的的数据

    number={'da ',8,15,1115,1,1,1212,12}
    print(number)
    

    集合方法(增加)

    #方法一 直接add()添加
    Name={'小明','小刚','小美'}
    Name.add('小熊')
    print(Name)
    #方法一 直接update()迭代更新
    Age={'1','2','3'}
    Age.update('4')
    print(Age)
    #方法一 使用数列update()迭代更新
    Age={'1','2','3'}
    Age.update(['1','5','6'])
    print(Age)
    

    集合方法(删除)

    #方法一 使用pop()随机删除
    Age={'1','2','3'}
    item=Age.pop()
    print(Age)
    #方法二 使用remove()寻找元素直接删除
    Age={'1','2','3'}
    Age.remove('2')
    print(Age)
    #方法三 使用clear()寻找元素直接删除
    

    集合方法(修改)

    #先移除在再添加就是修改 ,因为集合是无序的
    Age={'1','2','3'}
    Age.remove('1')
    Age.add(666)
    print(Age)
    

    集合方法(查询)

    #使用循环查看
    Age={'1','2','3'}
    for number in Age:
        print(number)
    

    集合方法(其他操作)

    #查看共用元素 符号&
    s1={1,2,3}
    s2={3,4,3}
    print(s1,'_______',s2)
    print(s1.intersection(s2))
    #合并元素  符号 |
    s1={1,2,3}
    s2={3,4,3}
    print(s1,'_______',s2)
    print(s1.union(s2))
    #不显示共有元素 符号 -
    s1={1,2,3}
    s2={3,4,3}
    print(s1,'_______',s2)
    print(s1.difference(s2))
    #显示不共同拥有的 符号 ^
    s1={1,2,3,6}
    s2={3,4,5}
    print(s1.symmetric_difference(s2))
    #s1是s2的子集吗 符号<
    s1={1,2,3,4,5,6}
    s2={3,4,5}
    print(s2.issubset(s1))
    ##s1是s2的超集吗  符号>
    s1={1,2,3,4,5,6}
    s2={3,4,5}
    print(s1.issuperset(s2))
    
  • 相关阅读:
    linux环境下的makefile文件的编写(zz)
    linux 中vim的退格键的使用问题
    Design Complier Synthesis Script Templet
    Synthesis Summary 逻辑综合总结
    .net加密
    timestamp (TransactSQL) 时间戳
    ADO.NET连接池
    ASP.NET Web数据控件
    高效的读取二进制数据
    GridView
  • 原文地址:https://www.cnblogs.com/SkyRabbit/p/11203355.html
Copyright © 2011-2022 走看看