博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生成器面试题之一
阅读量:6607 次
发布时间:2019-06-24

本文共 1372 字,大约阅读时间需要 4 分钟。

阅读下面的代码,写出A0,A1,至An的最终值

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]

解答

zip接收两个可迭代对象,返回一个zip对象,这个zip对象可以用next()取值,取出的值是一个个元组,python中关于zip的定义如下:

class zip(object):    """    zip(iter1 [,iter2 [...]]) --> zip object        Return a zip object whose .__next__() method returns a tuple where    the i-th element comes from the i-th iterable argument.  The .__next__()    method continues until the shortest iterable in the argument sequence    is exhausted and then it raises StopIteration.    """

zip的使用方法

obj = zip(('a', 'b', 'c', 'd', 'e'), (1, 2, 3, 4, 5))print(obj, type(obj))  # 
try: for i in range(10): print(next(obj))except StopIteration: print("结束了~")

由上面的演示可以很容易得出

A0 = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 }

A1就是生成器的简单测试,结果为

A1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

A2为一个列表推导式,元素为满足以下两个条件的值:

  • i在A1中
  • i在A0中
    注意A0是一个字典,i在A0中等价于i在A0的键组成的列表(A0.keys())里,而A0的键都是字母,所以没有满足条件的i
A2 = []

s为A0的键,A0[s]为A0的值,因此结果是A0值组成的列表

A3 = [1, 2, 3, 4, 5]

A4 = [1, 2, 3, 4, 5]

A5 = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

A6 = [[0, 0], [1, 1], [2,  4], [3, 9], [4, 16], [5, 25], [6, 36],[7, 49],[8, 64] [9, 81]]

转载于:https://www.cnblogs.com/zzliu/p/10645371.html

你可能感兴趣的文章
转:winform_webApiSelfHost及 OWIN WebAPI Service
查看>>
分库分表的理想方案
查看>>
sumatrapdf 软件介绍
查看>>
CentOS开启和关闭防火墙
查看>>
值得学习的C语言开源项目
查看>>
AutoCAD如何设置A0A1图纸
查看>>
maven
查看>>
debug命令
查看>>
Android SQLite详解
查看>>
Spark技术在京东智能供应链预测的应用
查看>>
SparkR-Install
查看>>
Tagger: Deep Unsupervised Perceptual Grouping
查看>>
Intellij idea 项目目录设置 与包的显示创建
查看>>
HDU 1016:Prime Ring Problem
查看>>
Impala的安装(含使用CM安装 和 手动安装)(图文详解)
查看>>
论程序猿的社会地位
查看>>
Android 布局自适应屏幕
查看>>
ionic 进入二级目录以后隐藏底部导航栏(tabs)
查看>>
android: 在APP中显示高德地图SDK
查看>>
js11--js与C++、java异同
查看>>