python列表生成
① python for循环生成列表的实例
Python for循环生成列表的实例
一般Python for语句前不加语句,但我在机器学习实战中看到了这两条语句:
featList = [example[i] for example in dataSet]
classList = [example[-1] for example in dataSet]
多方研究和询问,得到如下解释:
语句featList = [example[i] for example in dataSet]作用为:
将dataSet中的数据按行依次放入example中,然后取得example中的example[i]元素,放入列表featList中
语句classList = [example[-1] for example in dataSet]作用为:
将dataSet中的数据按行依次放入example中,然后取得example中的example[-1]元素,放入列表classList中
总而言之,类似上述两种for循环形式可以很方便地用来创建列表,如下例:
list_0 = [x*x for x in range(5)]
print(list_0)
#输出:
#[0, 1, 4, 9, 16]
以上这篇Python for循环生成列表的实例就是小编分享给大家的全部内容了
② Python中列表生成式和生成器的区别
列表生成式源语法:
[x*x for x in range(0,10)] //列表生成式,这里是中括号
//结果 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
(x*x for x in range(0,10)) //生成器, 这里是小括号
//结果 <generator object <genexpr> at 0x7f0b072e6140>
二者的区别很明显:
一个直接返回了表达式的结果列表, 而另一个是一个对象,该对象包含了对表达式结果的计算引用, 通过循环可以直接输出
g = (x*x for x in range(0,10))
for n in g:
print n
结果
0
1
4
9
16
25
36
49
64
81
当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,
而生成器并不是立即把结果写入内存, 而是保存的一种计算方式, 通过不断的获取, 可以获取到相应的位置的值,所以占用的内存仅仅是对计算对象的保存
③ python生成26个字母的列表
import string
list(string.ascii_uppercase) #26个大写字内母列表容
list(string.ascii_lowercase) #26个小写字母列表
list(string.ascii_letters) #26个小写字母和26个大写字母列表
④ python创建列表的方法
这个方法很多,这个是方法学,就是看个人怎么去掌握。
⑤ python如何生成一个日期列表
知乎上的就复制过来了
#!usr/bin/python
#-*-coding:utf-8-*-
#python2.7
importdatetime
defdateRange(beginDate,endDate):
dates=[]
dt=datetime.datetime.strptime(beginDate,"%Y-%m-%d")
date=beginDate[:]
whiledate<=endDate:
dates.append(date)
dt=dt+datetime.timedelta(1)
date=dt.strftime("%Y-%m-%d")
returndates
if__name__=='__main__':
printdateRange("2016-01-01","2016-02-01")
⑥ 怎么样用python做个程序!生成一个随机数构成的列表
概述
利用python的random包和list列表
代码详解
首先导入random包
这里选择获取键入的数值版来作为随机列表的长度权和随机列表的取值范围
由于python支持表达式作参数这里简写了一点
import random
length = int(input("请输入你需要获得的列表长度"))
co = eval(input("请输入需要产生的随机数的个数:"))
min = eval(br.split(',')[0])
max = eval(br.split(',')[1])
ranlist=[random.randint(min,max) for i in range(length)]
#out
描述
random()方法返回随机生成的一个实数,它在[0,1)范围内。
语法
以下是 random() 方法的语法:
import random
random.random()
注意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
参数无
返回值返回随机生成的一个实数,它在[0,1)范围内。
⑦ Python随机生成列表
举例说明:从集合中随机获得10个数
1、定义一个列表集合iRandom = []
2、向iRandom中插入1-60,共60个数字
3、打乱列表顺序
4、截取列表前10个数,即为随机获取到的列表集合随机数
import random iRandom = [] #定义随机数列表listRandom = list(range(1,61)) #生成整数型1-60的列表组合random.shuffle(listRandom) #打乱列表顺序iRandom = listRandom[0:10] #截取打乱后的前10个值,赋值给新列表iRandomprint('随机列表组合:',iRandom)
⑧ 浅谈Python中列表生成式和生成器的区别
列表生成式语法:
[x*x for x in range(0,10)] //列表生成式,这里是中括号
//结果 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
(x*x for x in range(0,10)) //生成器, 这里是小括号
//结果 <generator object <genexpr> at 0x7f0b072e6140>
二者的回区别很答明显:
一个直接返回了表达式的结果列表, 而另一个是一个对象,该对象包含了对表达式结果的计算引用, 通过循环可以直接输出
g = (x*x for x in range(0,10))
for n in g:
print n
结果
0
1
4
9
16
25
36
49
64
81
当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,
而生成器并不是立即把结果写入内存, 而是保存的一种计算方式, 通过不断的获取, 可以获取到相应的位置的值,所以占用的内存仅仅是对计算对象的保存
⑨ python怎么创建列表
如何创建列表,或生成列表。这里介绍在python的基础知识里创建或转变或生成列表的一些方法。
零个,一个或一系列数据用逗号隔开,放在方括号[ ]内就是一个列表对象。
列表内的数据可以是多个数目,不同类型。
相关推荐:《Python视频教程》
利用函数list():
用 list([iterable])函数返回一个列表。
可选参数iterable是可迭代的对象,例如字符串,元组。list()函数将可迭代对象的元素重新返回为列表。
将字典类型数据作为参数时,返回的列表元素是字典的键。
将range()函数作为参数,返回一个整数元素的列表。
如果没有参数list()函数将返回一个空列表。
其他能生成列表的方法:
利用split分割字符串生成列表:
字符串调用split方法返回一个由分开的子串组成的列表。
利用列表推导式:
列表推导式,是生成列表的一种方便的表达式。
有关列表推导式,看下面的连接。
⑩ python如何用循环生成列表,把[0,1,2,3] 变成[1,2,3,4]
list1=[]
foriinrange(0,4):
list1.append(i)
print(list1)
foriinlist1:
list1[i]=list1[i]+1
print(list1)