3 回答

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
這會(huì)給你所有偶數(shù)的列表
def make_a_list(*listOfNumbers):
even_list =[]
for num in listOfNumbers:
if num%2==0:
even_list.append(num)
return even_list
print(make_a_list(4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0))
# output [4, 6, 10, -12, -18, 0]
這將為您提供偶數(shù)索引的數(shù)字
def even_indices(*listOfNumbers):
return listOfNumbers[2::2]
print(even_indices(4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0))
# output (6, 9, 10, -18, 0)

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用 range() 在循環(huán)時(shí)增加 2。
def make_a_list(*listOfNumbers):
output_list = []
for i in range(0, len(listOfNumbers), 2):
output_list.append(listOfNumbers[i])
return output_list

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
正如@geckos 指出的那樣,您可以僅使用索引來指定此范圍。假設(shè)我們有:
my_list = [4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0]
我們想要使用 的計(jì)數(shù)方案的偶數(shù)[1, 2, 3, 4, 5, ...],然后我們會(huì)調(diào)用:
print(my_list[1::2])
輸出:
[5, 7, 11, -12, 1]
這是因?yàn)槟鷮⑺饕付閇start:stop:step size]但通常會(huì)省略步長,因此默認(rèn)為 1。
相反,如果您的意思是計(jì)數(shù)方案,[0, 1, 2, 3, 4, 5, ...]則只需將索引調(diào)整為[::2]
請(qǐng)注意,您還可以使用負(fù)步長。例如:
print(my_list[::-1])
以相反的順序輸出列表,或:
[0, 1, -18, -12, 10, 11, 9, 7, 6, 5, 4]
把它放到一個(gè)函數(shù)中看起來像:
def make_a_list(input_list):
even_index_list = input_list[1::2]
return even_index_list
添加回答
舉報(bào)