當前位置:首頁 » 編程語言 » pythonforlistn

pythonforlistn

發布時間: 2023-04-03 14:01:37

A. 如何統計python list中元素的個數及其位置

l=[1,2,3,4,1]#目標數列
targetnum=1#元素
number=l.count(targetnum)
print('個數:'+str(number))
i=number
index=[]
whilei>0:
forxinrange(len(l)):
ifl[x]==targetnum:
index.append(x+1)
i=i-1
print('位置(第幾個):'+str(index))

B. Python for 循環中 in 關鍵字含義是什麼

就是固定的一個格式 for...in循環

Python的循環有兩種,一種是for...in循環,依次把list或tuple中的每個元素迭代出來,看例子:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
print name

執行這段代碼,會依次列印names的每一個元素:

Michael
Bob
Tracy

所以for x in ...循環就是把每個元素代入變數x,然後執行縮進塊的語句。

第二種循環是while循環,只要條件滿足,就不斷循環,條件不滿足時退出循環。比如我們要計算100以內所有奇數之和,可以用while循環實現:

sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print sum

在循環內部變數n不斷自減,直到變為-1時,不再滿足while條件,循環退出。

C. python中for循環放在後面要怎麼理解

i因為閉包,lambda生成之後i引用的就是for循環中的i

建議你看一下python的列表生成器,

f = [(lambda n : i + n) for i in range(10)] 等同於

f=[]

for i in range(10)

f.append(lambda n : i + n)

下面是相關內容

列表生成式即List Comprehensions,是Python內置的非常簡單卻強大的可以用來創建list的生成式。

舉個例子,要生成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)
...>>> L
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

但是循環太繁瑣,而列表生成式則可以用一行語句代替循環生成上面的list:

>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

寫列表生成式時,把要生成的元素x * x放到前面,後面跟for循環,就可以把list創建出來,十分有用,多寫幾次,很快就可以熟悉這種語法。

for循環後面還可以加上if判斷,這樣我們就可以篩選出僅偶數的平方:

>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]

還可以使用兩層循環,可以生成全排列:

>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

三層和三層以上的循環就很少用到了。

運用列表生成式,可以寫出非常簡潔的代碼。例如,列出當前目錄下的所有文件和目錄名,可以通過一行代碼實現:

>>> import os # 導入os模塊,模塊的概念後面講到>>> [d for d in os.listdir('.')] # os.listdir可以列出文件和目錄['.emacs.d', '.ssh', '.Trash', 'Adlm', 'Applications', 'Desktop', 'Documents', 'Downloads', 'Library', 'Movies', 'Music', 'Pictures', 'Public', 'VirtualBox VMs', 'Workspace', 'XCode']

for循環其實可以同時使用兩個甚至多個變數,比如dict的iteritems()可以同時迭代key和value:

>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }>>> for k, v in d.iteritems():... print k, '=', v... y = B
x = A
z = C

因此,列表生成式也可以使用兩個變數來生成list:

>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }>>> [k + '=' + v for k, v in d.iteritems()]
['y=B', 'x=A', 'z=C']

最後把一個list中所有的字元串變成小寫:

>>> L = ['Hello', 'World', 'IBM', 'Apple']>>> [s.lower() for s in L]
['hello', 'world', 'ibm', 'apple']

小結

運用列表生成式,可以快速生成list,可以通過一個list推導出另一個list,而代碼卻十分簡潔。

思考:如果list中既包含字元串,又包含整數,由於非字元串類型沒有lower()方法,所以列表生成式會報錯:

>>> L = ['Hello', 'World', 18, 'Apple', None]
>>> [s.lower() for s in L]
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>AttributeError: 'int' object has no attribute 'lower'

使用內建的isinstance函數可以判斷一個變數是不是字元串:

>>> x = 'abc'>>> y = 123>>> isinstance(x, str)True>>> isinstance(y, str)False

請修改列表生成式,通過添加if語句保證列表生成式能正確地執行。

D. python for循環怎麼用

1. for 循環介紹

復制代碼代碼如下:

>>> li = ['a', 'b', 'e']
>>> for s in li: (1)
... print s (2)
a

e
>>> print "\n".join(li) (3)
a

e

(1) for 循環的語法同 list 解析相似。li 是一個 list,而 s 將從第一個元素開始依次接收每個元素的值。
(2) 像 if 語句或其它任意縮進塊,for 循環可以包含任意數目的代碼行。
(3) 這就是你以前沒看到過 for 循環的原因:至今我們都不需要它。太令人吃驚了,當你想要的只是一個 join 或是 list 解析時,在其它語言中常常需要使用 for 循環。
要做一個 「通常的」 (Visual Basic 標準的) 計數 for 循環也非常簡單。
2. 簡單計數

復制代碼代碼如下:

>>> for i in range(5): (1)
... print i
0
1
2
3
4
>>> li = ['a', 'b', 'c', 'd', 'e']
>>> for i in range(len(li)): (2)
- 104 -Dive Into Python http://diveintopython.org/
... print li[i]

E. 求助python的for循環

看題看錯,我再想
==========
做出,運行環境python 3.2,>3.0可運行
import functools
def occurrences(text1, text2):
#一行流代碼,利用字典統鍵橘計text2中所含text1的數量
s_items=dict(map(lambda i:(i[0],text2.count(i[0])),dict( zip(text1,[0]*len(text1))).items()))
print(s_items) #輸出過程 就是你所的「1個'e', 3個'l', 2個'o', 1個'd'」喊亮衫,鄭腔這行可刪掉
#合並輸出統計總和
return functools.rece(lambda x,y:x+y, s_items.values())
print(occurrences('fooled','hello world'))
==================
輸出
{'f': 0, 'e': 1, 'd': 1, 'o': 2, 'l': 3}
7

F. 如何用Python編寫一個素數環

代碼:
n = int(input("請輸入最大數n:"))
lists = [[1]]#多個素數環
surplusnum = list(range(1,n+1)) #剩餘的數
def sumisprime(x, y):
#x與y之和是否是素數
isprime=True#是否是素數
s = x + y#和
for i in range(2, int(s**0.5)+1):
#素數判定法:從2開始直到此數的開方內的整數都不能被該數整除,則此數為素數
if s%i == 0:#能被整除
isprime = False#不是素數
break#跳出循環
return isprime#返回後否是素數(是:True,否:False)
changelast=lambda listx,addvalue:listx[0:-1]+[addvalue]#改變列表末尾的函數
while len(lists[0] if len(lists) else [0]*n) < n:#當素數環長度小於最大數時
n2 = len(lists[0]) #n2為判定,理論當前列表長度最大值
for listn in lists:#遍歷各個可能的素數環
surplusnum=list(range(1,n+1))#默認值
for j in listn:#遍歷當前列表的數
surplusnum.remove(j)#剩餘的數中刪除此數
for i in surplusnum:#遍歷剩餘的數
if sumisprime(listn[n2-1], i):#最後一個數與它的和是素數
if len(listn) == n2:#如果現在這個列表是沒有被添加過的
listn.append(i)#增加在這個列表
else:#如果該列表已經被添加過
lista = changelast(listn, i)#要加入的列表
if lista not in lists:#如果不在這個列表裡
lists.append(lista)#添加到另一個列表
for listn in lists.():#防止lists被刪造成影響
if len(listn) != n2+1:#如果長度沒有達到預期(+1)
lists.remove(listn)#刪除該列表(取消此可能性)
if len(lists[0]) == n:#已經符合條件
for listn in lists:#遍歷列表,檢查首尾
if sumisprime(listn[-1], listn[0]):#如果首尾相加等於素數
print(listn)#環成立,列印出來
break#結束循環
說明:經試驗,都沒什麼問題,n=12也能很快運算完(但我勸你不要打出來),如果你只需要1個素數環,可以把break的縮進調到print(listn)並列。

G. python for 語句怎麼寫

Python for循環控制語句一般格式及方法 for循環語句是python中的一個循環控制語句,任何有序的序列對象內的元素都可以遍歷,比如字元串、列表List、元組等可迭代對像。之前講過的if語句雖然和for語句用法不同,但可以用在for語句下做條件語句使用。

for語句的基本格式 python for循環的一般格式:第一行是要先定義一個賦值目標(迭代變數),和要遍歷(迭代)的對像;首行後面是要執行的語句塊。 for 目標 in 對像: print 賦值目標 for循環一個字元串操作方法

>>>a='iplaypython.com'>>>foriina:>>>printiiplaypython.com

如果想讓目標在一行輸出,可以這樣寫 >>>print i, i p l a y p y t h o n . c o m 案例中的 i 相當於目標,字元串變數a是遍歷(迭代)對像。當運行for循環語句時,每一次迭代時,i 都會從遍歷(迭代)對像a中接收一個新值輸出。

結束循環後,目標(迭代變數)會保留最後一個值,這里可以先忽略理解,會在else語句中詳細來講解。 for循環列表操作方法

>>>a=[1,2,3,4]>>>foriina:
>>>printi,1234for循環元組賦值
>>>x=[('hello','python'),('very','good')]
>>>for(a,b)inx:
>>>print(a,b)('hello','python')('very','good')

Python for循環控制語句基本組成部分還有break、continue、else

learning=input('DoyouwanttolearnPythonnow(YesorNo):')
a=str(learning)
ifa=='Yes':
print('QQ1129834903')
else:
print('Thanks!!')

H. python有哪些方法可讓list中的元素重復N次

from itertools import chain, repeat
from functools import partial, rece
this_is_a_list = [1, 2, 3, 4, 5]
what_you_want = rece(
chain, map(list, map(partial(rece, times=2), this_is_a_list)))

this_is_a_list = [1, 2, 3, 4, 5]
what_you_want = [val for val in this_is_a_list for i in range(2)]

I. python中的for in是什麼意思

1、python中的for in是一個語句循環固定格式;

2、Python是一種跨平台的計算機程序設計語言。是一種面向對象的動態類型語言;

3、Python在設計上堅持了清晰劃一的風格,這使得Python成為一門易讀、易維護,並且被大量用戶所歡迎的、用途廣泛的語言。

(9)pythonforlistn擴展閱讀:

python介紹:

Python的設計目標之一是讓代碼具備高度的可閱讀性。其設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。不像其他的靜態語言如C、Pascal那樣需要重復書寫聲明語句,也不像其他的語法那樣經常有特殊情況和意外。

Python採用動態類型系統。在編譯的時候,Python不會檢查對象是否擁有被調用的方法或者屬性,而是直至運行時,才做出檢查。所以操作對象時可能會拋出異常。不過,雖然Python採用動態類型系統,其同時也是強類型的。Python禁止沒有明確定義的操作,比如數字加字元串。

參考資料來源:網路-Python

熱點內容
python266 發布:2024-11-02 16:22:06 瀏覽:364
計算機如何設置雙密碼 發布:2024-11-02 15:38:18 瀏覽:929
超高速存儲 發布:2024-11-02 15:23:30 瀏覽:898
javades加密文件 發布:2024-11-02 15:14:15 瀏覽:534
讀卡器怎麼看配置 發布:2024-11-02 15:14:10 瀏覽:459
安卓手機如何更改屏幕常亮 發布:2024-11-02 15:14:02 瀏覽:605
存儲空間介紹 發布:2024-11-02 15:12:22 瀏覽:417
沒有連上伺服器怎麼辦 發布:2024-11-02 14:39:02 瀏覽:626
早期存儲卡 發布:2024-11-02 14:26:50 瀏覽:989
配音秀緩存在手機哪裡 發布:2024-11-02 14:23:27 瀏覽:295