• 列表、元组、字典


    #列表
    # 1.作用按位置存放多个值
    list1=[1,2.3,True,"yoona"]
    print(type(list1))
    # 2.类型转换: 能够被for循环遍历的类型都可以当做参数传给list()转成列表
    res=list("haha")
    print(res,type(res))
    res=list({"name":"yoona","age":12})
    print(res,type(res))
    #3.内置方法
    #3.1按索引取值
    list1=[1,2.3,True,"yoona"]
    res=list1[0]
    print(res)
    #3.2切片 顾头不顾尾
    res=list1[0::2]
    print(res)
    res=list1[::-1]
    print(res)
    #切片相当于浅拷贝
    list1=[0,2,[22,33]]
    new_list1=list1[:]
    print(new_list1)
    print(id(list1[2]),id(new_list1[2]))
    # list1[2]="yoona"
    # print(list1[2],id(list1[2]))
    # print(new_list1[2],id(new_list1[2]))
    list1[2]=[66,99]
    print(list1[2],id(list1[2]))
    print(new_list1[2],id(new_list1[2]))
    #3.3长度 len()
    list2=[1,2,3,4,True]
    res=len(list2)
    print(res)
    #3.4成员运算 in not in
    print(2 in list2)
    print(6 not in list2)
    #3.5往列表中加值
    #append 末尾加入
    list2.append("yoona")
    print(list2)
    #insert 索引插入
    list2.insert(0,"haha")
    print(list2)
    #extend 添加值
    list1=[2,3]
    list2.extend(list1)
    print(list2)
    list2.extend("hi")
    print(list2)
    #3.6 删除del pop remove
    del list1
    # print(list1)
    res=list2.pop(0)#按索引删除 用pop获取删除的值


    print(res)
    res=list2.remove("yoona")#按值删除
    print(list2)

    #count index sort reverse clear
    #队列 先进先出 堆栈 后进后出

    #元组为一个不可变的列表,按索引进行存值,只读不改
    #元组内 用逗号隔开任意类型的元素
    t=(1,2,"yoona")
    print(t,type(t))
    #元组内只有一个元素必须加逗号
    t=(1,2,"yoona")#t=(0-》值1的内存地址,1-》值2的内存地址,2-》值"yoona"的内存地址)
    #类型转换 可以把字符串、列表、字典、转换成元组
    #按索引取值、切片、长度、循环

    #字典定义 在{}内用逗号隔开key:value
    #value为任意类型 key为不可变类型
    # 造字典的方式 有四种
    #直接构造
    dict1={"name":"yoona","age":23}
    print(dict1,type(dict1))
    #方式二 定义构造
    dict2=dict(a=1,b=2,c=3)
    print(dict2,type(dict2))
    #方式三 定义类型转换
    info=[["name","yoona"],["age",23],["gender","male"]]
    dict3=dict(info)
    print(dict)
    # 造字典的方式四:快速初始化一个字典
    # keys=['name','age','gender']
    # d={}.fromkeys(keys,None) # 一行代码搞定上述for循环的工作
    # print(d)
    #4、内置方法
    #优先掌握的操作:
    #1、按key存取值:可存可取
    # d={'k1':111}
    # 针对赋值操作:key存在,则修改
    # d['k1']=222
    # 针对赋值操作:key不存在,则创建新值
    # d['k2']=3333
    # print(d)
    #2、长度len
    # d={'k1':111,'k2':2222,'k1':3333,'k1':4444}
    # print(d)
    # print(len(d))
    #3、成员运算in和not in:根据key
    # d={'k1':111,'k2':2222}
    # print('k1' in d)
    # print(111 in d)
    #4、删除
    d={'k1':111,'k2':2222}
    # 4.1 通用删除
    # del d['k1']
    # print(d)
    # 4.2 pop删除:根据key删除元素,返回删除key对应的那个value值
    # res=d.pop('k2')
    # print(d)
    # print(res)
    # 4.3 popitem删除:随机删除,返回元组(删除的key,删除的value)
    # res=d.popitem()
    # print(d)
    # print(res)
    #5、键keys(),值values(),键值对items() =>在python3中得到的是老母鸡
    d={'k1':111,'k2':2222}
    #需要掌握的内置方法
    d={'k1':111}
    #1、d.clear()
    #2、d.update() #d.update({'k2':222,'k3':333,'k1':111111111111111})
    # print(d)
    #3、d.get() :根据key取值,容错性好
    # print(d['k2']) # key不存在则报错
    # print(d.get('k1')) # 111
    # print(d.get('k2')) # key不存在不报错,返回None
    #4、d.setdefault()
    # info={}
    # if 'name' in info:
    # ... # 等同于pass
    # else:
    # info['name']='egon'
    # print(info)
    # 4.1 如果key有则不添加,返回字典中key对应的值
    info={'name':'egon'}
    res=info.setdefault('name','egon')
    # print(info)
    print(res)
    # 4.2 如果key没有则添加,返回字典中key对应的值
    info={}
    res=info.setdefault('name','egon')
    # print(info)
    print(res)

  • 相关阅读:
    C++11: reference_wrapper
    mac 查看目前哪些进程占用哪些端口
    Intellij IDEA 10.5 语言设置
    linux中的strip命令简介------给文件脱衣服
    HashMap的key可以是可变的对象吗???
    java BIO/NIO/AIO 学习
    java 反射
    Java线程同步
    maven modules
    设计模式在cocos2d-x中的使用--简单工厂模式(Simple Factory)
  • 原文地址:https://www.cnblogs.com/mayrain/p/12464572.html
Copyright © 2020-2023  润新知