我是靠谱客的博主 自觉苗条,最近开发中收集的这篇文章主要介绍Python列表推导式、字典推导式、生成器示例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

print "n+++++++列表推导式++++++++"


auto_list = [x for in "Good evening!"]   #列表推导式1
print "列表推导式1:t",auto_list

rows = xrange(1, 6)
cols = xrange(10,13)

# 生成一个二维数组:在列表中嵌套列表
# 总共有len(rows),每行中的列元素是[col for col in cols]

two_dims_list = [[col for col in cols] for row in rows]   #列表推导式2
print "列表推导式2:t",two_dims_list
print "二维数组的类型:t",type(two_dims_list)

print "以友好的二维数组形式打印:"
for
x intwo_dims_list:    #二维数组中的每个元素都是列表
   
print x


print "n+++++++字典推导式++++++++"
str_ = "Tony"
print
{index:value for index,value in enumerate(str_)}


print "n+++++++(生成器)++++++++"
# 生成器的语法是(statement) ,她会返回一个迭代器供我们迭代取值

"""

语法1:(statement) 

语法2:在函数中使用yield关键字

"""

gen1 = (g for g in "hello")
print "gen1类型:t"type(gen1)

print "从生成器返回的迭代器取值:"
for
x in gen1:
    print x,

"""
   
在函数中使用yield关键字,不会像return那样返回给调用者然后退出,
   
而是保留函数当前执行的结果提供给调用者,
   
等到下次调用时再执行一次并保留当次执行结果
"""
def
gen2(arg):
    i = 2
   
yield i*arg

g = gen2(0.5)
print "n g的类型是: "type(g)
for x in g:
    print x

def gen3():
    j = 0
   
yield j+1

print "n多次调用"
for
x in range(5):
    print gen3().next()    #通过next()方法执行函数

 

程序运行结果:

 

+++++++列表推导式++++++++

列表推导式1:    ['G','o', 'o', 'd', ' ', 'e', 'v', 'e', 'n', 'i', 'n', 'g', '!']

列表推导式2:    [[10,11, 12], [10, 11, 12], [10, 11, 12], [10, 11, 12], [10, 11, 12]]

二维数组的类型:      <type'list'>

以友好的二维数组形式打印:

[10, 11, 12]

[10, 11, 12]

[10, 11, 12]

[10, 11, 12]

[10, 11, 12]

 

+++++++字典推导式++++++++

{0: 'T', 1: 'o', 2: 'n', 3: 'y'}

 

+++++++(生成器)++++++++

gen1类型:  <type 'generator'>

从生成器返回的迭代器取值:

h e l l o

 g的类型是:  <type 'generator'>

1.0

 

多次调用

1

1

1

1

1

最后

以上就是自觉苗条为你收集整理的Python列表推导式、字典推导式、生成器示例的全部内容,希望文章能够帮你解决Python列表推导式、字典推导式、生成器示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部