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)