• 列表、字典(操作)


    列表:增删改查

    L.append(object):在列表最后增加
    _list = [5, 2, 6, 1, 3, 7, 4]
    _list.append("pd")
    print(_list)    #[5, 2, 6, 1, 3, 7, 4, 'pd']
    

    _list = ["小东", "小西", "小南", "小北"] while 1: username = input("输入Q/q退出添加") if username.strip().lower() == "q": #迭代添加姓名到列表最后,直到输入q退出 break else: _list.append(username) print(_list) #['小东', '小西', '小南', '小北', 'ppd']

    L.insert(index, object):插入 _list = [5, 2, 6, 1, 3, 7, 4] _list.insert(3, "pd") print(_list) #[5, 2, 6, 'pd', 1, 3, 7, 4]

    L.extend(iterable):迭代增加 _list = [5, 2, 6, 1, 3, 7, 4] _list.extend(["p", "p", 8]) print(_list) #[5, 2, 6, 1, 3, 7, 4, 'p', 'p', 8]

    L.pop(index):按索引删除
    _list = [5, 2, 6, 1, 3, 7, 4]
    name = _list.pop(3)    #按索引删除,默认删除最后一个
    print(name, _list)        #1 [5, 2, 6, 3, 7, 4];1为返回值
    
    L.remove(value):按元素删除
    _list = [5, 2, 6, 1, 3, 7, 4]
    _list.remove(5)
    print(_list)    #[2, 6, 1, 3, 7, 4]
    
    L.clear():清空列表
    _list = [5, 2, 6, 1, 3, 7, 4]
    _list.clear()
    print(_list)    #[]
    
    del:从内存中删除列表
    _list = [5, 2, 6, 1, 3, 7, 4]
    del _list
    
    del list[]:切片删除列表内容
    _list = [5, 2, 6, 1, 3, 7, 4]
    del _list[0:2]
    print(_list)    #[6, 1, 3, 7, 4]

    赋值地改:_list[i] = "n"    #将"e_list"的[i]位删除,然后"n"赋值给这个位
    _list = [5, 2, 6, 1, 3, 7, 4]
    _list[0] = "pd"    
    print(_list)    #['pd', 2, 6, 1, 3, 7, 4]
    
    切片地改:在区间加入任意数量新元素
    _list = [5, 2, 6, 1, 3, 7, 4]
    _list[0:1] = "小明"             #['小', '明', 2, 6, 1, 3, 7, 4]
    _list[0:3] = [1,"a", "小明"]    #[1, 'a', '小明', 1, 3, 7, 4]
    print(_list)

    _list = [5, 2, 6, 1, 3, 7, 4]
    for i in _list:    #for循环一一查看列表里的内容
        print(i)
    
    _list = [5, 2, 6, 1, 3, 7, 4]    
    print(_list[0:2])    #[5, 2];切片查看

    公共方法

    L.index(value, [start], [stop]):列表只能用index索引,不能用find
    _list = [5, 2, 6, 1, 3, 7, 4]
    i = _list.index(1)        #3     找到元素1的索引号为3
    i = _list.index(3, 2, 5)  #4     找到元素3的索引号为4
    
    L.sort(reverse=False):列表排序
    _list = [5, 2, 6, 1, 3, 7, 4]
    _list.sort()    #默认正序排序参数可以不用填(reverse=False),倒序排序添加"reverse=True"
    print(_list)    #[1, 2, 3, 4, 5, 6, 7]
    
    L.reverse():列表反向排序
    _list = [5, 2, 6, 1, 3, 7, 4]
    _list.reverse()
    print(_list)    #[4, 7, 3, 1, 6, 2, 5]

    列表的嵌套

    _list = ["小白", "老虎", "ppd", ["东南", "西北"], 18]
    print(_list[1][1])        #
    
    name = _list[2].capitalize()    #Ppd
    
    _list[3][1] = "ppd"    #['小白', '老虎', 'ppd', ['东南', 'ppd'], 18]
    
    _list = ['小白', '老虎', 'ppd', ['东南', 'ppd'], 18]
    _list[3][1] = _list[3][1].upper()        #['小白', '老虎', 'ppd', ['东南', 'PPD'], 18]
    
    _list[1] = _list[1].replace("", "")    #['小白', '老板', 'ppd', ['东南', '西北'], 18]
    
    _list[3][0] = _list[3][0].replace("", "西")        #['小白', '老虎', 'ppd', ['西南', '西北'], 18]
    
    _list[3].append("东南西北")    #['小白', '老虎', 'ppd', ['东南', '西北', '东南西北'], 18]

    元组:只读列表,可循环查询,可切片;儿子不能改,孙子可能可以改

    _tuple = (1, 2, 3, "ppd", ["小明", 4, 5, "qwer"], "哈哈")
    _tuple[4][3] = _tuple[4][3].upper()    #(1, 2, 3, 'ppd', ['小明', 4, 5, 'QWER'], '哈哈')
    _tuple[4].append("asdf")        #(1, 2, 3, 'ppd', ['小明', 4, 5, 'QWER', 'asdf'], '哈哈')

    列表与字符串之间的转换(重要)

    s = ["小白", "ppd", "18"]
    x = ",".join(s)
    print(x)    #小白,ppd,18
    
    s = "小白:ppd:18"  #这是一个字符串
    x = s.split(":")  #用 : 区别分开字符串
    print(x)    #['小白', 'ppd', '18']

    range:顾头不顾尾

    for i in range(1, 10):
        print(i)    #123456789
    for i in range(1, 10, 2):
        print(i)    #13579
    for i in range(10, 1, -2):
        print(i)    #10 8 6 4 2
    for i in range(1, 10, -1):
        print(i)    #什么也不显示

    字典

    数据类型划分:可变数据类型、不可变数据类型
        不可变数据类型:元组、bool、int、str 可哈希
        可变数据类型:list、dict、set 不可哈希
    key:必须是不可变数据类型 可哈希
    value:任意数据类型
    优点:二分查找去查询
    特点:无序、存储大量的关系型数据

    访问字典中的值:字典名["键"]

    增改删查

    dic = {"age": 18, "name": "pd", "sex": "male"}

    增或改:字典名[""]、字典名.update(字典名1)
    dic["age"] = "20"   #有键,值被覆盖
    dic["hobby"] = "swimming"   #没有找到对应的键,则作为新的键值对添加进字典中
    dic1 = {"weight": "55kg", "height": 173}
    dic.update(dic1)      #将字典dic1的键值对全部添加到字典dic中
    删:
    del 字典名[""]、字典名.pop("")、字典名.popitem()、字典名.clear()
    del dic["age"]        #删除键"age",无返回值
    del dic[]     #删除字典,什么都没了
    dic.pop("age")      #删除键"age",有返回值,设置一个被赋予的变量,print这个变量即可看到返回值
    dic.popitem()     #随机删除,有返回值
    dic.clear()   #清空字典中的键值对
    查:
    x = dic.keys()
    y = dic.values()
    z = dic.items()
    print(x)    #dict_keys(['age', 'name', 'sex'])
    print(y)    #dict_values([18, 'pd', 'male'])
    print(z)    #dict_items([('age', 18), ('name', 'pd'), ('sex', 'male')])

    遍历

    dic = {"age": 18, "name": "pd", "sex": "male"}
    for k in dic.keys():
        print(k.title())
    for v in dic.values():
        print(v)
    for k, v in dic.items():        #k、v是变量,可使用任何名称
        print("key:"+k, "
    values:"+str(v))     #
    为换行符
    
    
    if "height" not in dic.keys():      #使用keys()检测一个键是否在字典中
        print("tell me your height")

    嵌套

    dic = {"name": ["大头", "小头"],
          "name8": ["ppd", "peter", "john"],
           "dic1": {"color": "red", "points": "5", "position": "gd"},
        (1, 2, 3): "123",
             True: 1,
               18: "age",
           }
    dic["name"].append("大小头")      #修改键name的值,name的值为列表,即在列表中加入新的元素
    dic["dic1"]["color"] = dic["dic1"]["color"].upper()     #将键color的值全改为大写
    dic["name8"][1] = dic["name8"][1].capitalize()      #修改键name8的值,值为列表,将peter首字母改为大写
    dic["dic1"]["abc"] = "123"    #修改键dic1对应的值,值为字典,在字典中添加键值对 "abc": "123"
  • 相关阅读:
    JavaScript 属性和方法的类型
    2013年系统集成项目管理工程师真题 上午 附参考答案
    Openssl 学习—1.概述
    完成端口笔记
    激活 Microsoft office 2010、visio 2010方法
    Openssl 学习—0.基础
    socket编程入门(函数)
    Openssl 学习—3.RSA
    Openssl 学习—2.BIGNUM结构
    为什么百度有啊还不开始宣传!
  • 原文地址:https://www.cnblogs.com/believepd/p/9539153.html
Copyright © 2020-2023  润新知