# 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. React && ReactDOM

    如果你是 React 的初学者,一定会对 React 和 ReactDOM 感到迷惑.为什么要分成两个包呢?害得我还要引入两次,说好的减轻开发人员负担呢,这丫的在搞什么飞机.带着这个疑问,我们一起来康 ...

  2. 矩阵快速幂-QuickPow

    矩阵快速幂引入: 1.整数快速幂: 为了引出矩阵的快速幂,以及说明快速幂算法的好处,我们可以先求整数的幂.如果现在要算X^8:则 XXXXXXXX 按照寻常思路,一个一个往上面乘,则乘法运算进行7次. ...

  3. 从零开始学习R语言(一)——数据结构之“向量”(Vector)

    本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/59688569 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125370 ...

  4. 全文搜索技术--solr7.1之mysql的安装步骤

    1.安装命令 #>在线安装wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 输完上面一句话不能正常的下载安装 ...

  5. css3笔记系列-3.css中的各种选择器详解,不看后悔系列

    点击上方蓝色字体,关注我 最详细的css3选择器解析 ​ 选择器是什么? 比较官方的解释:在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素. 最常见的 CSS 选择器是元素选择器.换句话说 ...

  6. (翻译) 使用Unity进行AOP对象拦截

    Unity 是一款知名的依赖注入容器( dependency injection container) ,其支持通过自定义扩展来扩充功能. 在Unity软件包内 默认包含了一个对象拦截(Interce ...

  7. 物联网 软硬件系统 树莓派 单片机 esp32 小程序 网页 开发 欢迎相互交流学习~

    物联网软硬件开发 知识分享 多年学生项目开发经验 物联网 软硬件系统 树莓派 单片机 esp32 小程序 网页 开发 欢迎相互交流学习~ http://39.105.218.125:9000/

  8. 内置函数---eval、exec、compile

    eval() 将字符串类型的代码执行并返回结果 print(eval('1+2+3+4')) exec()将自字符串类型的代码执行 print(exec("1+2+3+4")) e ...

  9. 详解十大经典机器学习算法——EM算法

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第14篇文章,我们来聊聊大名鼎鼎的EM算法. EM算法的英文全称是Expectation-maximization al ...

  10. 逻辑回归和sigmoid函数分类

    逻辑回归和sigmoid函数分类:容易欠拟合,分类精度不高,计算代价小,易于理解和实现 sigmoid函数与阶跃函数的区别在于:阶跃函数从0到1的跳跃在sigmoid函数中是一个逐渐的变化,而不是突变 ...