• 列表,元组,字典的常规操作及内置方法


    列表类型(list)

    # ls=[1,2,3]        #简化定义变量的方式称为语法糖/笑笑语法
    # ls=list([1,2,3])  #本质
    # print(ls)
    
    
    #列表的常用操作
    1.索引取值:列表名[index]
    # s1 = ['w','q','e']
    # print(s1[1])
    
    2.列表运算(列表元素同类型)
    
    3.list的长度
    # s3 = [3, 4, 1, 2, 5]
      print(len(s3))
    
    4.切片:[start_index:end_index:step]
    # s4 = [3, 4, 1, 2, 5]
    # new_s4 = s4[::-1]          # 反向取值
    # print(new_s4)
    # new_s4 = s4[1:4:]
    # print(new_s4)
    # new_s4 = s4[-2:-5:-1]
    # print(new_s4)
    
    5.成员运算:in
    # s5 = [3, 4, '1', 2, 5]
    # print('1' in s5)     结果为True
    # print(1 in s5)       结果为False
    # print(5 not in s5)
    
    6.循环(pycharm: ctrl+shift+r替换功能)
    # for v in s5:
    #     print(v, type(v))
    #
    # # 只打印数字类型的数据
    # for v in s5:
    #     if isinstance(v, int):
    #         print(v, end=' ')
    
    
    列表的操作
    1.列表的增删改查
    #ls = ['w','q',3]
     查
    # print(ls[1])
    
     增
    # ls.append('r')          # 列表末尾增加字符串
    # print(ls)
    # ls.insert(1,'w')        # 添加至索引位置的前一个位置
    # print(ls)
    # ls.insert(len(ls),'w')  # 用insert实现末尾增
    # print(ls)
    
     改
    # ls[1] = 'r'
    # print(ls)
    
     删
    # ls.remove('q')
    # print(ls)
    
    # ls.pop()          # 默认从末尾开始删
    # print(ls)
    # ls.pop(1)
    # print(ls)         # 指定位置删
    
    了解
    # del ls[2]         #指定位置删
    # print(ls)
    #
    # ls.clear()        #清空
    # print(ls)        
    
    # 其他方法
    #  排序:针对于同类型
    # ls1 = [3,1,2]
    # ls1.sort()               #默认正向排序
    # print(ls1)
    # ls1.sort(reverse=True)   #正向排序结果上反转,形成倒序
    # print(ls1)
    #
    # ## 翻转
    # ls1.reverse()            #按存储的顺序进行翻转
    # print(ls1)
    
    ## 计算值的个数:列表中可以存放重复数据
    ls2 = [1,2,3,3,2,1]
    #print(ls2.count(1))        #对象1存在的次数
    
    ## 整体增加:添加至末尾
    # ls2.extend('123')         # 增加字典时,只取key值
    # print(ls2)
    ## 目标的索引位置,可以规定查找区间
    ind = ls2.index(1,3,6)      #index(self,start_with , end_with)
    print(ind)
    

    元组类型的操作及内置方法

    # 元组类型
    # 定义:元组内部可存所有类型数据(tuple)
    # t1 =()表示空元组
    #当元组只含有一个元素时,必须还其元素后添加逗号,如:tuple1=(1,)
    #
    # 常规操作
    # 1.索引取值
    # print(t1[2])
    # #
    # 2.拼接
    print((1,2)+(2,3))
    # 3.长度
    print(len(t1))
    # 4.切片
    print(t1[::]) [start_with:end_with:step]
    # 5.成员运算
    print(2 in t1) # 判断2是否在元组t1中
    # # 6.for循环
    for v in t1 :
        print(v,end=" ")
    #
    # 方法
    # 1.计数
    # print(t1.count(0))      # 对象0在元组中出现的次数
    # 2.索引位置
    # print(t1.index(0,1,4))  # 对象0在区间1到4第一次出现的位置
    
    
    # 元组不可变类型分析(只能读取无法存入)
    t1 = (10,'abc',[100,200])       # t1指向的元组地址中存放的值一旦确定,不能再被修改,长度也不能改变
    
    

    字典类型的操作及内置方法

    # 容器(集合):存放多个值的变量
    # 单列容器:list 、tuple
    # 双列容器(map):只有dict(python中)
    
    # 字典的定义
    # dic = {'a':1,'b':2}
    # 以key:value键值对方式
    # key是取value的唯一依据,key一旦被确定,就需要唯一确定(不能被改变)
    # value可以是任何数据类型
    # key要确保唯一性,不能重复,值可以重复,并且可以改变=》字典为可变类型
    
    #案例
    import random
    lis=['lino','koko','popo','sena']
    name_dict={'lino':0,'koko':0,'popo':0,'sena':0}
    for i in range(100):
        lucky_name=lis[random.randint(0,3)]
        name_dict[lucky_name]+=1
    print(name_dict)
    
    # 空字典
    #d1 =dict()
    #d2 ={}
    # 用map映射创建字典
    #d3 = dict({'a': 1, 'b': 1})
    # 用关键字赋值方式
    #d4 =dict(name='wq',age=25)
    # 创建有多个key值采用默认值的方式,默认值不写默认None,也可以自定义
    #d5 = {}.fromkeys('abc', 0)    
    #print(d5)                #结果为{'a': 0, 'b': 0, 'c': 0}
    
    #d6 = {}.fromkeys({'a':1,'b':2}, 0)
    #print(d6)                #结果为{'a': 0, 'b': 0}
    
    #dic = dict.fromkeys(['name','weight','height'],None)
    #print(dic)               #结果为{'name': None, 'weight': None, 'height': None}
    
    # 字典的增删改查
    # 增 key已存在就是修改值,不存在就新增值
    #d3 =dict {'a':1,'b':2}
    #dict['c'] = 3
    
    # 查
    # dic={'a':1,'b':2}
    # print(dic['c'])   #只能查已有key值,无key则报错
    # 有默认值的查询,有key取出对应value,没有就返回默认值(None),默认值也可以自定义
    # print(dic.get('d'),'默认值')
    
    # 删
    #dic.clear()
    #print(dic)
    # pop(k)删除指定key的value并返回删除的value
    # res = dic.pop('a')
    # print(res)
    # popitem从dic末尾删除,返还(key,value)形成的元组
    # res =dic.popitem()
    # print(res)
    
    # 其他方法
    # update(更新):a有值被覆盖,c无对应覆盖值,顺带下来,b为新增值,增加并赋值
    dic ={'a':1,'c':2}
    d ={'a':10,'b':20}
    dic.update(d)
    print(dic)           # {'a': 10, 'c': 2, 'b': 20}
    
    # 带默认值的新增:新增key,key已有,无动于衷,无key,值就是第二个参数
    # dic.setdefault('z',100)
    # print(dic)
    
    # 字典的循环
    # 1.直接循环,就是循环得到key
    # dic ={'a':1,'c':2}
    # for k in dic:
    #     print(k)
    
    name_dict1={'lino':1,'koko':2,'popo':3,'sena':4}
    print(name_dict1.keys())      #  dict_keys(['lino', 'koko', 'popo', 'sena'])
    print(name_dict1.values())    #  dict_values([1, 2, 3, 4])
    print(name_dict1.items())     #  dict_items([('lino', 1), ('koko', 2),                                                        ('popo', 3), ('sena', 4)])
    
    # 2.循环keys
    # print(dic.keys())
    # for k in dic.keys():
    #     print(k)
    
    # 同时循环key和value (key, value)
    print(dic.items())
    # a, b = (1, 2)
    # print(a, b)
    # for res in dic.items():
    #     print(res)
    # 重点
    for k, v in dic.items():
        print(k, v)
    
  • 相关阅读:
    第三章 Python基础——文件操作&函数
    第二章python基础续
    第二章Python基础
    四、蒙卦
    三、屯卦
    二、坤卦
    一、乾卦
    1.听力
    Mac搭建github Page的Hexo免费个人博客
    2.4线性表的顺序表示和实现
  • 原文地址:https://www.cnblogs.com/bruce123/p/10834092.html
Copyright © 2020-2023  润新知