python的新手問題,Python新手問題,基本列表解析

2021-06-28 17:05:50 字數 4755 閱讀 5070

1樓:匿名使用者

python中,列表是所謂的「可迭代物件」,這種物件支援迭代協議,即一系列python保留方法,能夠在每一次迭代中自動返回一個值。(以上為概念)

在python中,python可以在for迴圈中自動為可迭代物件進行迭代,即:可以這樣寫:

major=['cis','geog','aeis','math']

for i in major:

print(i)

由於列表是支援迭代協議的物件,因此,在這個迴圈中,迴圈變數i會被依次賦值為major中的每一個元素

(事實上,for i in list是python中遍歷列表的最佳方式,這種方式速度最快。

由於你的**是在python3中執行,那麼range()函式會返回所謂的「生成器」(generator object),由於生成器的採用,可能進一步增加執行迴圈需要的時間

從邏輯上來說,你的**存在一個問題:range()函式在提供一個引數時,會返回一個產生值0-(引數-1)的生成器,即:

major=['cis','geog','aeis','math']

for i in range(len(major)):

print(major[i])

輸出為:

'cis'

'geog'

'aeis'

而如果對range()提供兩個引數,即range(a,b)的形式,那麼list(range(a,b))將返回[a,...,b-1](list()函式呼叫可以將引數轉換為列表返回,它是一個一次性獲得可迭代物件的所有值的常用工具)

(此處附簡單計時:

# coding:utf-8

__author__ = 'as126'

import time

if __name__ == '__main__':

txt = open('a.txt', 'w')

l1 = [i for i in range(1, 10000001)]

starttime = time.time()

for i in range(len(l1)):

print(l1[i], file=txt)

endtime = time.time()

print(endtime - starttime)

starttime = time.time()

for i in l1:

print(i, file=txt)

endtime = time.time()

print(endtime - starttime)

txt.close()

輸出:74.03824377059937

64.0977132320404

前者是for i in range(len(list))迴圈所用時間,後者是for i in list迴圈所用時間

為了凸顯差異,本例構建了一個一千萬級的列表)

如果在輸出'cis'時,需要輸出為'cis - in great demand'

可以寫成:

major=['cis','geog','aeis','math']

for i in major:

if i == 'cis':

print(i + 'in great demand')

#或者直接:print('cis - in great demand')

else:

print(i)

2樓:大漠鳳蕭蕭

if index==0:

print 'cis - in great demand'?

python新手問題,基本列表解析

3樓:冷暖永自知

[x*5 for x in range(2,10,2)] 是python中的生成器,生成一個列表。

你從表示式可以看出是生成5*x,x是2-10範圍內,以2為步長

專的元素。那就是2 4 6 8,所屬以生成了[10, 20, 30, 40]咯。

python新手問題?

4樓:匿名使用者

小括號是元組,整個元組算這個集合的一個元素

5樓:匿名使用者

python的集合裡面可以包含多種元素的,如a=

6樓:雙子座的我

你自己多寫了個括號,那個eval的外面不需要用()

7樓:匿名使用者

把eval外面的小括號去掉。

8樓:錢家章從筠

在python2中raw_input()返回的永遠是字串。你需要使用input()來對輸入表示式求值並返回實際型別。

python新手的問題?

9樓:匿名使用者

這個是字串的切片,和列表的index類似

alp[0] 即字元『a』

alp[-1] 即字元『z』

10樓:匿名使用者

果然python新手

python 字串

python新手問題!!!

11樓:

不知道你熟不熟悉「類」這個概念(class),python也是一種物件導向的語言,類就是一種物件,他遍佈python每個角落。

為了給你說明 屬性 和 方法,我儘量給你舉例子。

先來看個簡單點的,如果你不應用類,你只能做一些簡單的程式設計,比如helloworld:

*************************===

#helloworld.py

print "hello ! world"

*************************===

當你執行 import helloworld 後(或者 c:\python26\pyhton.exe helloworld.py),螢幕上就出現了

hello ! world

好了,然後我應用「方法」。

*************************===

#hw2.py

def printhello():

print "hello ! by method"

def saygoodbye():

print "goodbye!"

*************************===

好了,現在hw2.py這個檔案(作為模組)就有了兩個方法,一個是printhello,一個是saygoodbye

當我們執行 import hw2 不會有任何反應。因為我們程式設計用的是「方法」,「方法不呼叫是不會執行的。當然如果你在def那行前面加入其他語句就會執行了,因為那些不屬於方法。

然後我們輸入 hw2.printhello()

螢幕上出現 hello ! by method

輸入 hw2.saygoodbye()

出現 goodbye!

最後,我要給你舉「屬性」的例子,然後要求你把最佳答案給我,呵呵

*************************===

#hw3.py

def hello():

property1="text"

property2=23

print "hello,i know a word " & property1 " and a number " & str(property2) & "!!!"

*************************===

然後我們執行:

import hw3

hw2.hello()

出現hello,i know a word text and a number 23

之所以前面有str()是因為23是數字,必須轉換為字串才能和其他字串合併。這裡的porperty1 和property2就是兩個屬性,不過他們是固定值。你可以通過變數(方法後面的括號內填加)來改變。

或者如果是類的話,可以在中途賦新值。

最後給你個類的例子吧,作為特別附贈,然後我就不解釋引用和索引了,這兩個概念不好描述卻很好理解,就是字面上的意思,就算你不明白意思也無所謂,不像類和方法這麼重要

*************************==

#clas***ample.py

class people(name,age):

***="male"

def show():

print " name: "+ name +"/nage: " + age +" ***: " + ***

*************************==

執行 import clas***ample

bob=clas***ample.people("bob","30")

#bob繼承了people類,並賦予了名字和年齡屬性,同時性別預設是男

bob.age="31"

#bob年齡增長了一歲,把age屬性改變了

bob.***="female"

#好吧這個有點惡搞得意味了

bob.show()

#bob也繼承了show()方法

出現結果:

name: bob

age: 31 ***:female

還不明白的話多看幾本書就明白了

12樓:匿名使用者

example:

import sys

help(sys)

dir(sys)

python如何微秒級延時,如何在python中比較微秒時間差

python中的sleep函式可以復傳制小數進去,就可以進行毫秒級的延時了,如下 例1 迴圈輸出休眠1秒 import time i 1 while i 3 print i 輸出i i 1 time.sleep 1 休眠1秒 例2 迴圈輸出休眠100毫秒 import time i 1 while ...

python新手關於編寫函式的問題

def fun ary for x in ary if isinstance x,int return min s min ary max s max ary else return pl num print fun 3,8,1,4 print fun a b c d 你c學得不錯哦!python ...

python新手,在python中類中的self

任何實現了特殊方法 getitem 的類 內建的列表類list 元祖類tuple 集合類set 字串類str都實現了這個特殊方法,因此它們都可以通過索引來訪問物件的成員 的物件都可以通過索引 下標 來訪問這個物件的成員。而self index 只不過是通過索引來訪問當前物件的成員罷了。這是一個例子 ...