# 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']) #
# 通过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']

python3(七)dict list的更多相关文章

  1. python系列七:Python3字典dict

    #!/usr/bin/python #Python3 字典#字典是支持无限极嵌套的citys={    '北京':{        '朝阳':['国贸','CBD','天阶','我爱我家','链接地产 ...

  2. Python3 字典Dict(十三)

    Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 字典是另一种可变容器模型,且可存储任意类 ...

  3. Python3没有dict.has_key方法

    最近开始学习Python,安装上最新的Python3.3.3照书敲了一个小程序结果报错 'dict' object has no attribute 'has_key' 上网查也找不到解决办法,后来发 ...

  4. Python3(七) 正则表达式与JSON

    一. 初识正则表达式 1.定义:是一个特殊的字符序列,可以帮助检测一个字符串是否与我们所设定的字符序列相匹配. 2.作用:可以实现快速检索文本.实现替换文本的操作. 3.场景: 1.检测一串数字是否是 ...

  5. python3 字典dict

    字典是用大括号{}表示 dict() 键必须是唯一的,但值则不必:键是不可变的,如字符串.数字.元组,值可以取任意数据类型: 可以迭代, del可以删除一对键值,del Dict['key'] 重复给 ...

  6. Python3基础 dict 创建字典 空字典

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. python3的dict

    dict1 = {getlistUrl:getlistData,getskuUrl:getskuData, approveUrl:approveData, approvedlistUrl:approv ...

  8. Python3中dict字典的相关操作函数

    字典对象的内建函数 1. clear() 清空字典. 例: >>> a = {1:3, 2:4} >>> a.clear() >>> a {} 2 ...

  9. Python3基础 dict get 在查询不存在的键时,返回指定的内容

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  10. Python3基础 dict in/not in 查询一个字符是否指定字典的键或者值

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

随机推荐

  1. 2018 巅峰极客CTF misc writeup

    flows 拿到一个pcap包,用wireshark打开,发现是USB协议,尝试在kali下使用tshark提取,提取失败,发现异常.回到wireshark分析数据.在其中一个数据包中发现了tip 把 ...

  2. 记录一次云主机部署openstack的血泪史

    看见这个部署成功的留下了激动的泪水 经过长时间的BUG苦肝终于成功部署成功  部署的环境2vCPU 8GB 阿里云主机,部署成功以后内存占用确实蛮高的 记录这一次踩坑,给后来者避免踩坑时间,个人踩坑踩 ...

  3. 升级Kubernetes 1.18前,你不得不知的9件事

    本文来自Rancher Labs 昨天Kubernetes最新版本v1.18已经发布,其包含了38项功能增强,其中15项为稳定版功能.11项beta版功能以及12项alpha版功能.在本文中,我们将探 ...

  4. JS事件冒泡及阻止

    事件冒泡及阻止 当一个元素接收到事件的时候,会把他接收到的事件传给自己的父级,一直到window,当然其传播的是事件,绑定的执行函数并不会传播,如果父级没有绑定事件函数,就算传递了事件,也不会有什么表 ...

  5. jquery实现元素的显示和隐藏

    这个是指定表格列的隐藏的demo,其余的都大同小异了 $("#account-table tr").find($("#tcNum")).show();//sho ...

  6. Linux时间和现实时间不同步解决方案

    输入三条命令 yum install ntpdate -y ntpdate tiger.sina.com.cnping tiger.sina.com.cn 然后输入date检查时间是否已经同步

  7. 一文总结数据科学家常用的Python库(下)

    用于建模的Python库 我们已经到达了本文最受期待的部分 - 构建模型!这就是我们大多数人首先进入数据科学领域的原因,不是吗? 让我们通过这三个Python库探索模型构建. Scikit-learn ...

  8. redis的使用及配置

    linux环境下redis启动和管理 在redis根目录下执命令 快捷启动默认端口 ./redis-server ../redis.conf 启动redis管理端 ./redis-cli 清理缓存命令 ...

  9. [noip模拟]改造二叉树<LIS>

    1.改造二叉树 [题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随 ...

  10. Sql练习201908200918

    表结构: 昨天遇到一个笔试题,求一个聚合函数小于等于1000的值,并将编号同时输出. sql server: select nid,SUM(amount) amountSum from orders_ ...