真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python函數(shù)剔除偶數(shù) python篩選偶數(shù)

為什么以下python程序只刪除了列表中偶數(shù),i的取值為什么不為1,3?

因?yàn)閒or迭代是按索引進(jìn)行的,第一次迭代返回的是x[0],并會(huì)記錄下次迭代的索引位置1。

成都創(chuàng)新互聯(lián)專注于臨潁企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。臨潁網(wǎng)站建設(shè)公司,為臨潁等地區(qū)提供建站服務(wù)。全流程按需制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

而x.remove(0)刪除的是列表的第一個(gè)元素0,刪除后列表會(huì)移動(dòng)元素,用1覆蓋0,用2覆蓋1,...,所以現(xiàn)在的x是[1,2,3,...,19],而下一次迭代將返回索引1處的元素2,并記錄下次迭代的索引位置2。

所以,這次刪除的就是元素2,刪除后的列表x就是[1,3,4,...,19]。

這樣,下次將返回并刪除索引2處的4。

所以,像這樣一邊迭代一邊在原列表上刪除的結(jié)果就只留下了所有奇數(shù)元素。

python編寫隨機(jī)生成三個(gè)有十個(gè)元素的數(shù)組把三個(gè)合并成一個(gè)挑出奇數(shù)和偶數(shù)沒有重復(fù)

python沒有數(shù)組,可以用list代替.

隨機(jī)元素的范圍你沒有說,我用1-100代替.代碼如下:

import random

def randomlist():

listname = []

for i in range(10):

listname.append(random.randint(1,100))

return listname

list1,list2,list3= randomlist(),randomlist(),randomlist()

print list1,list2,list3

#生成三個(gè)有十個(gè)元素的數(shù)組完成

totallist = list1[:]

totallist.extend(list2)

totallist.extend(list3)

#合并成一個(gè)數(shù)組完成

print totallist

jishu,oushu = [],[]

for i in totallist:

if i%2 == 1 and i not in jishu:

jishu.append(i)

elif i%2 == 0 and i not in oushu:

oushu.append(i)

#挑出奇數(shù)和偶數(shù)完成

jishu.sort()

oushu.sort()

#將奇數(shù)和偶數(shù)列表排序,不需要可以刪除

print jishu,oushu

注:生成三個(gè)有十個(gè)元素的數(shù)組,可以用以下一行代碼就能實(shí)現(xiàn),代碼更少,運(yùn)行效率也更高,不過C\JAVA里面都沒有這種形式,不容易看懂

list1,list2,list3 = ([random.randint(1,100) for i in range(10)] for i in range(3))

python中的filter函數(shù)怎么用

filter()函數(shù)是 Python 內(nèi)置的另一個(gè)有用的高階函數(shù),filter()函數(shù)接收一個(gè)函數(shù) f 和一個(gè)list,這個(gè)函數(shù) f 的作用是對(duì)每個(gè)元素進(jìn)行判斷,返回 True或 False,filter()根據(jù)判斷結(jié)果自動(dòng)過濾掉不符合條件的元素,返回由符合條件元素組成的新list。

例如,要從一個(gè)list [1, 4, 6, 7, 9, 12, 17]中刪除偶數(shù),保留奇數(shù),首先,要編寫一個(gè)判斷奇數(shù)的函數(shù):

def is_odd(x):

return x % 2 == 1

然后,利用filter()過濾掉偶數(shù):

filter(is_odd, [1, 4, 6, 7, 9, 12, 17])

結(jié)果:

[1, 7, 9, 17]

利用filter(),可以完成很多有用的功能,例如,刪除 None 或者空字符串:

def is_not_empty(s):

return s and len(s.strip()) 0

filter(is_not_empty, ['test', None, '', 'str', ' ', 'END'])

結(jié)果:

['test', 'str', 'END']

注意: s.strip(rm) 刪除 s 字符串中開頭、結(jié)尾處的 rm 序列的字符。

當(dāng)rm為空時(shí),默認(rèn)刪除空白符(包括'\n', '\r', '\t', ' '),如下:

a = ' 123'

a.strip()

'123'

a = '\t\t123\r\n'

a.strip()

'123'

練習(xí):

請(qǐng)利用filter()過濾出1~100中平方根是整數(shù)的數(shù),即結(jié)果應(yīng)該是:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

方法:

import math

def is_sqr(x):

return math.sqrt(x) % 1 == 0

print filter(is_sqr, range(1, 101))

結(jié)果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


當(dāng)前標(biāo)題:Python函數(shù)剔除偶數(shù) python篩選偶數(shù)
文章URL:http://weahome.cn/article/dodippo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部