zoukankan      html  css  js  c++  java
  • python3(七)dict list

    # dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
    # dict内部存放的顺序和key放入的顺序是没有关系的
    # 根据同学的名字查找对应的成绩,如果用list实现,需要两个list
    names = ['Michael', 'Bob', 'Tracy']
    scores = [95, 75, 85]
    # dict实现,只需要一个“名字”-“成绩”的对照表
    d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    print(d['Michael'])  # 95
    # 通过key 添加或者覆盖
    d['Adam'] = 67
    print(d)  # {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 67}
    d['Adam'] = 66
    print(d)  # {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 66}
    # key不存在,dict就会报错
    # 判断key是否存在 in 或者get
    print('Thomas' in d)  # False
    print(d.get('Thomas'))  # None
    # 删除某个元素
    d.pop('Bob')
    print(d)  # {'Michael': 95, 'Tracy': 85, 'Adam': 66}
    # 和list比较,dict有以下几个特点:
    # --查找和插入的速度极快,不会随着key的增加而变慢;
    # --需要占用大量的内存,内存浪费多。
    # --------------------------------------------------------
    # set set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
    # 创建一个set,需要提供一个list作为输入集合,复元素在set中自动被过滤
    s = set([1, 1, 2, 2, 3, 3])
    print(s)  # {1, 2, 3} # 显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的
    # 添加元素 add
    s.add(4)
    print(s)  # {1, 2, 3, 4}
    # remove 删除元素
    s.remove(4)
    print(s)  # {1, 2, 3}
    
    # 多个set操作
    s1 = set([1, 2, 3])
    s2 = set([2, 3, 4])
    print(s1 & s2)  # {2, 3}
    print(s1 | s2)  # {1, 2, 3, 4}
    
    # 不可变对象
    # str 不可变对象
    a = 'abc'
    a.replace('a', 'A')
    print(a)  # abc
    a = 'abc'
    b = a.replace('a', 'A')
    print(b)  # Abc

     list create

    list(range(1, 11))  # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    L = []
    for x in range(1, 11):
        L.append(x * x)
    print(L)  # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    # 功能同上
    LL = [x * x for x in range(1, 11)]
    print(LL)  # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    
    ll = [x * x for x in range(1, 11) if x % 2 == 0]
    print(ll)  # [4, 16, 36, 64, 100]
    
    lc = [m + n for m in 'ABC' for n in 'XYZ']
    print(lc)  # ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
    
    import os  # 导入os模块,模块的概念后面讲到
    
    dr = [d for d in os.listdir('.')]  # os.listdir可以列出文件和目录
    print(
        dr)  # ['dict_set7.py', 'enc3.py', 'for6.py', 'func8.py', 'hello.py', 'hello2.py', 'if5.py', 'iteration10.py', 'listCreate.py', 'list_tuple4.py', 'pian9.py']
    
    d = {'x': 'A', 'y': 'B', 'z': 'C'}
    for k, v in d.items():
        print(k, '=', v)
    # x = A
    # y = B
    # z = C
    
    L = ['Hello', 'World', 'IBM', 'Apple']
    print([s.lower() for s in L])  # ['hello', 'world', 'ibm', 'apple']
  • 相关阅读:
    xls与csv文件的区别
    青音,经典爱情语录
    win7用户账户自动登录方法汇总
    How to using Procedure found Lead Blocker
    FTS(3) BSD 库函数手册 遍历文件夹(二)
    FTS(3) BSD 库函数手册 遍历文件夹(一)
    DisplayMetrics类 获取手机显示屏的基本信息 包括尺寸、密度、字体缩放等信息
    About App Distribution 关于应用发布
    FTS(3) 遍历文件夹实例
    OpenCV 2.1.0 with Visual Studio 2008
  • 原文地址:https://www.cnblogs.com/shaozhiqi/p/11543509.html
Copyright © 2011-2022 走看看