#!/usr/bin/python

# 字典
# 当时学java的时候, 语言基础就学了好久, 然后是各种API, 最后才是集合 # 键值对, 可变 # 1. 映射操作 D = {'food' : 'Spam', 'quantity':4, 'color':'pink'} print(D['food']) # 通过键来获取值 D['quantity'] += 1 # 改变键对应的值 # 另一种构造字典的方法
D = {}
D['name'] = 'Bob'
D['job'] = 'dev'
D['age'] = 40 # 在Python通过字典编写的搜索方法很快 # 重访嵌套
rec = {'name': {'first':'Bob', 'last':'Smith'},
'job':['dev', 'mgr'],
'age':40.5} rec['name'] rec['name']['last']
rec['job']
rec['job'][-1] # 'job'键对应的列表的最后一个值 rec['job'].append('janitor') # 所建立的这些对象都不需要手动释放, 有Python的自动垃圾收集 # 2. 键的排序: for循环
# 字典仅支持通过键获取元素, 而且有时候还是无需的
# 如锅要对字典进行排序, 先获取键的列表, 然后使用sort方法进行排序
# 最后使用for循环逐个显示结果
Ks = list(D.keys()) # 无需列表
Ks.sort() # 对key进行排序 for key in Ks:
print(key, '=>', D[key]) for c in 'spam':
print(c.upper()) x = 4
while x > 0:
print('spam!' * x)
x -= 1 # 迭代和优化 squares = [ x ** 2 for x in [1, 2, 3, 4, 5]]
print(squares) squares = []
for x in [1, 2, 3, 4, 5]:
squares.append(x ** 2) # 列表解析和相关的函数编程工具, 如map和filter, 通常运行得比for循环快
# 首先为了简单和可读性去编写代码, 在程序可以工作, 并证实确实有必要考虑性能之后, 再考虑该问题
# 关于这个python提供了time以及timeit和profile模块 # 不存在的键: if 测试 D = { 'a' : 1, 'c' : 3, 'b' : 2} D['e'] = 99 # D['f'] 键'f'不存在, 这样使用会报错的
# in关系表达式允许我们查询字典中一个键是否存在 if not 'f' in D:
print('missing key f in D') value = D.get('x', 0) # 获取键'x'的值, 如果没有获取到那么就是0付给value D[None] = 4 # None也可以作为键耶
print(D)

python学习(七)字典学习的更多相关文章

  1. 系统学习python第七天学习笔记

    1.get方法用法补充 info = {'name':'王刚蛋','hobby':'铁锤'} while True: data = input('请输入:') val = info.get(data, ...

  2. Dictionary Learning(字典学习、稀疏表示以及其他)

    第一部分 字典学习以及稀疏表示的概要 字典学习(Dictionary Learning)和稀疏表示(Sparse Representation)在学术界的正式称谓应该是稀疏字典学习(Sparse Di ...

  3. 字典学习(Dictionary Learning, KSVD)详解

    注:字典学习也是一种数据降维的方法,这里我用到SVD的知识,对SVD不太理解的地方,可以看看这篇博客:<SVD(奇异值分解)小结 >. 1.字典学习思想 字典学习的思想应该源来实际生活中的 ...

  4. 孤荷凌寒自学python第七十天学习并实践beautifulsoup对象用法3

    孤荷凌寒自学python第七十天学习并实践beautifulsoup对象用法3 (完整学习过程屏幕记录视频地址在文末) 今天继续学习beautifulsoup对象的属性与方法等内容. 一.今天进一步了 ...

  5. Python 基础学习之字典

    1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...

  6. 《python基础教程(第二版)》学习笔记 字典(第4章)

    <python基础教程(第二版)>学习笔记 字典(第4章)创建字典:d={'key1':'value1','key2':'value2'}lst=[('key1','value1'),(' ...

  7. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  8. python学习(10)字典学习,写一个三级菜单程序

    学习了字典的应用.按老师的要求写一个三级菜单程序. 三级菜单程序需求如下: 1.深圳市的区--街道--社区---小区4级 2.建立一个字典,把各级区域都装进字典里 3.用户可以从1级进入2级再进入3级 ...

  9. 吴裕雄 python 机器学习——数据预处理字典学习模型

    from sklearn.decomposition import DictionaryLearning #数据预处理字典学习DictionaryLearning模型 def test_Diction ...

  10. Python 2.7 学习笔记 字典(map)的使用

    python中的字典,就是通常说的map,即 key/value集合的数据结构. 本文来介绍下在python下如何使用字典. 对于map这种数据结构能干什么,我们就不说了,这是一个常见的数据结构,我们 ...

随机推荐

  1. spring boot 运行jsp原理分析

    Spring-boot运行jsp原理分析   结论: 启动server的时候会创建临时目录 在浏览器中访问jsp文件的时候通过内置Tomcat将jsp转换为java,保存在临时目录中 然后编译为cla ...

  2. 【HDOJ5996】dingyeye loves stone(Nim游戏)

    题意:dingyeye喜欢和你玩石子游戏.dingyeye有一棵n个节点的有根树,节点编号为0到n−1,根为0号节点. 游戏开始时,第i个节点上有a[i]个石子.两位玩家轮流操作,每次操作玩家可以选择 ...

  3. 交叉编译x264和ffmpeg

    1.x264 ./configure --host=arm-hisiv300-linux CC=arm-hisiv300-linux-gcc --enable-pic --prefix=/usr/lo ...

  4. Single Number III - LeetCode

    Given an array of numbers nums, in which exactly two elements appear only once and all the other ele ...

  5. CodeForces - 16E Fish

    Discription n fish, numbered from 1 to n, live in a lake. Every day right one pair of fish meet, and ...

  6. Ajax方式实现注册验证代码

    经常用到的经典Ajax代码,记录备用: function CreateAjax() { var XMLHttp; try { XMLHttp = new ActiveXObject("Mic ...

  7. wpa破解学习

    TENDA  159031106A iPhone 192.168.0.11 90:27:E4:53:49:D6 18:58:52 PC-201211262044 192.168.0.12 00:F1: ...

  8. hdu1070(C++)

    本题在于求单价,即为每一天(每200升牛奶)要多少钱,注意超过1000的当做5天,不足200的忽略 #include<iostream> #include<string> us ...

  9. ASP.NET Web API路由规则(二) 【转】

    http://www.cnblogs.com/liulun/archive/2012/06/20/2556556.html 默认的规则 在ASP.NET MVC4中 global.asax.cs代码中 ...

  10. 2016.6.21 maven:Failure to transfer ... from ....

    问题描述: 才刚新建的工程,什么都没做,就显示pom.xml有问题,在第一行的标签上 有如下错误: 点击详情: Failure to transfer org.apache.maven:maven-p ...