python List Comprehensions(列表生成式)

列表生成式: 创建List

一、普通创建List

#!/usr/bin/python

#common establish way
lis1 = [];
for x in range(1, 10):
    lis1.append(x);
print "lis1:", lis1;

二、列表生成式

#List comprehensions
lis2 = [x for x in range(1, 10)]
print "lis2:", lis2;

#also can choose the even number in list
lis3 = [x * x for x in range(1, 10) if x%2 == 0]
print "lis3:", lis3;

#two for in list
lis4 = [x + y for x in 'ABC' for y in 'XYZ']
print "lis4:", lis4;

#show the file in directory
import os;     #导入OS模块
lis5 = [d for d in os.listdir('.')]
print lis5;

#convert all big_write string to small_write
L = ['ABC', 'EFG', 'Hij', '8']   #只能为char类型,其他类型提示出错
lis6 = [s.lower() for s in L]   #lower()是内置函数,将大写转为小写
print lis6;

原文地址:http://blog.51cto.com/13502993/2144597

时间: 2024-10-06 15:51:06

python List Comprehensions(列表生成式)的相关文章

python学习笔记——列表生成式与生成器

1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行: 1 L = [] 2 for i in range(1,11): 3 L.append(i*i) 列表生成式只用一行,前面是生成规则,后面是初始元素,最后还可以加上判断条件: 1 [i*i for i in range(1, 11)] 列表生成式还可以实现多层循环,以及判断,刚刚的栗子再写复杂一

python迭代、列表生成式

迭代: 迭代对象(Iterable),可以直接作用于for循环的对象,如list / tuple / dict / set / str /等集合数据类型可以直接作用于for循环 >>> spam={1:'A',2:'B',3:'C'} >>> for x in spam: #默认情况下,dict迭代的是key print x 1 2 3 >>> for value in spam.values(): #values():迭代value print va

python语法_列表生成式_生成式

列表生成式 a = [x for x in range(10)] print(a) x 可进行操作 a = [x*2 for x in range(10)] print(a) x甚至可以为函数, def f(n): return n*n*n a = [f(x) for x in range(10)] ######################## 赋值方法 t = ('123',8)a,b = tprint(a)print(b)#############a =(x for x in range

Python中的列表生成式和多层表达式

如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表? 1 L=[]; 2 for x in range(1,11): 3 L.append(x*x) 4 print L 5 print ("+++++++++并不漂亮分割线之论缩进的重要性++++++++++") 6 print L 其实有一种更简单的写法,比如,你看: print [x*x for x in range(1,11)] 略需要注意的就是需要把x*x放到for的前面,那如何想要得到其是1到10内是偶数的平

Python 入门(十)列表生成式

生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> L = [] >>> for x in range(1, 11): ... L.append(x * x) ... >>

python高级特征:列表生成式;generator, 迭代器。

Python高级特性 列表生成式:不过一种语法糖 生成器:不过一个方法 迭代器: 列表生成式 Python内置的函数,来创建list. 简单的生成: >>> list(range(1,11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 复杂的生成:增加一个for循环. >>> a = [x*x for x in range(1, 11)] >>> a [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 还

python之列表生成式

列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)): >>> list(range(1, 11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> L = []

python列表生成式&生成器&迭代器

一.列表生成式 什么是列表生成式? 列表生成式是快速生成列表的一种方式.(貌似有些废话) 更专业点的说法:列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 在python2.7里 举个例子,要生成list [1,2,3,4,5],可以用range(1,6) >>> range(1,6) [1, 2, 3, 4, 5] 但是如果要生成[1x1,2x2,3x3,4x4,5x5]怎么做呢? 普通青年做法: >>&

Python的高级特性之切片、迭代、列表生成式、生成器

切片 切片就是获取一个list.tuple.字符串等的部分元素 1 l = range(100) 2 #取[0,5)元素 3 print(l[:5]) #[0, 1, 2, 3, 4] 4 #在[0,99]中每隔10个元素取一个 5 print( l[::10]) #[0, 10, 20, 30, 40, 50, 60, 70, 80, 90] 6 #取最后五个元素 7 print( l[-5 : ]) #[95, 96, 97, 98, 99] 8 9 str = "www.genekang.