<每日一题>题目12:列表解析及zip、dict函数的简单应用
'''
分析:
1.列表解析:迭代机制的一种应用
语法:
[expression for iter_val in iterable]
[expression for iter_val in iterable if cond_expr]
2.zip函数:以可迭代的对象作为参数,将对应元素打包成一个元组,形如:zip([a,b],[c,d])→[(a,c),(b,d)]
dict函数:可以以可迭代方式创建字典,形如:dict([(a,b),(c,d)])→{a:b,c:d}
'''
A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))
A1 = range(10)
A2 = [i for i in A1 if i in A0]
A3 = [A0[s] for s in A0]
A4 = [i for i in A1 if i in A3]
A5 = {i:i*i for i in A1}
A6 = [[i,i*i] for i in A1]
'''
解答:
A0→A0=dict([("a",1),("b",2),("c",3),("d",4),("e",5])→A0={"a":1,"b":2,"c":3,"d":4,"e":5}
A1→A1=[0,1,2,3,4,5,6,7,8,9]
A2→
A2 = []
for i in A1:
if i in A0: #字典进行in判断的时候判断的是key
A2.append(i) →A2=[]
A3→
A3 = []
for s in A0:
A3.append(A0[s]) →A3=[1, 2, 3, 4, 5]
A4→
A4=[]
for i in A1:
if i in A3:
A4.append(i)→A4=[1, 2, 3, 4, 5]
A5→
A5 = {}
for i in A1:
A5.update({i:i*i})→A5={0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
A6→
A6 = []
for i in A1:
A6.append([i,i*i])→A6=[[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]
'''
运行结果:

<每日一题>题目12:列表解析及zip、dict函数的简单应用的更多相关文章
- 《转》python 12 列表解析
转自 http://www.cnblogs.com/BeginMan/p/3164937.html 一.列表解析 列表解析来自函数式编程语言(haskell),语法如下: [expr for iter ...
- <每日一题>题目30:已知一个长度n的无序列表,元素均是数字,要求把所有间隔为d的组合找出来
def select_d(list,d): # list = sorted(list) sum = {} for i in list: if i+d in list: sum[i] = i+d ret ...
- <每日一题>题目13:列表的简单问题
''' 分析: python赋值是通过指针来进行的. 很显然第一.三.四次调用都指向同一个列表,并未完成清空, 第二次调用只是指向了另一个列表,也未完成清空,很显然结果是累计的 结果: [0, 1] ...
- <每日一题>题目28:生成随机的测验试卷(单选题)
#项目:生成随机的测验试卷文件 import random #资料库 capitals = {'北京市':'京','上海市':'沪','天津市':'津','重庆市':'渝','河北省':'冀','山西 ...
- 《Cracking the Coding Interview》——第17章:普通题——题目12
2014-04-29 00:04 题目:给定一个整数数组,找出所有加起来为指定和的数对. 解法1:可以用哈希表保存数组元素,做到O(n)时间的算法. 代码: // 17.12 Given an arr ...
- <每日一题>题目4:for循环套生成器的面试题
题目: def add(n,i): return n+i def test(): for i in range(4): yield i g = test() for n in [1,10,5]: g ...
- <每日一题>题目20:简单python练习题(11-20)
#11.编写程序,输入一个自然数,输出它的二进制.八进制.十六进制表示形式 Num = input("请输入任性自然数:") Num = eval(Num) print(" ...
- <每日一题>题目5:生成器表达式面试题
题目: def demo(): for i in range(4): yield i g = demo() g1 = (i for i in g ) g2 = (i for i in g1) prin ...
- <每日一题>题目11:以文件夹名称作为参数,返回该文件夹下所有文件的路径
''' 分析: 1.知道文件夹名称(假设是形如:E:\\software\\Notepad++),很显然可以通过OS模块去求 2.OS.listdir(sPath),列出文件夹内所有的文件和文件夹,以 ...
随机推荐
- charles抓取数据
charles抓包 抓取手机app的数据 charles设置 help--->SSL Proxying--->Install Charles Root Certificate 1.给电脑下 ...
- 移动端单选插件-jquery
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- hdu多校第八场 1011 (hdu6667) Roundgod and Milk Tea 二分图匹配
题意: 有若干个班,每个班有些人要喝奶茶,也提供一些奶茶,一人喝一杯,但是自己班的人不能喝自己班的奶茶,求最多能有多少人喝上奶茶. 题解: 典型的二分图匹配问题,学生在左,奶茶在右,学生和非自己班的奶 ...
- C++之静态(static)
一.静态数据成员与静态成员函数 二.从内存角度看静态数据成员 三.从this指针谈静态成员函数 四.注意事项 五.补充说明 1.<静态>课程评论: 静态成员是类的成员,不是对象的成员: 静 ...
- Java-Class-@I:org.junit.runner.RunWith
ylbtech-Java-Class-@I:org.junit.runner.RunWith 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 1. package org.juni ...
- 拾遗:Linux 用户及权限管理基础
Lacks of Knowledge 1: Linux has large amount of COMMANDS,but many of them have similar funtions,it's ...
- 极限学习机(Extreme Learning Machine)学习笔记
最近研究上了这个一个东西--极限学习机. 在很多问题中,我大多会碰到两个问题,一个是分类,另一个就是回归.简单来说,分类是给一串数打个标签,回归是把一串数变为一个数. 在这里我们需要处理的数据一般维度 ...
- Spring MVC @CookieValue注解(5)
@CookieValue的作用 用来获取Cookie中的值 @CookieValue参数 1.value:参数名称 2.required:是否必须 3.defaultValue:默认值 @Cookie ...
- css3的选择器
先来做一下准备工作 页面的效果: 看到上面的框框了吗?我们就是通过给这些框框添加背景色的方式,来让大家,了解css3的选择器的效果,下面正式开始: 关联选择器 E1~E2 选择 E1 后面的兄弟 E2 ...
- Docker学习のDocker初识
一.Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然 ...