3 回答

TA贡献1842条经验 获得超22个赞
这会给你所有偶数的列表
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]
这将为您提供偶数索引的数字
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贡献1820条经验 获得超9个赞
使用 range() 在循环时增加 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贡献1812条经验 获得超5个赞
正如@geckos 指出的那样,您可以仅使用索引来指定此范围。假设我们有:
my_list = [4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0]
我们想要使用 的计数方案的偶数[1, 2, 3, 4, 5, ...],然后我们会调用:
print(my_list[1::2])
输出:
[5, 7, 11, -12, 1]
这是因为您将索引指定为[start:stop:step size]但通常会省略步长,因此默认为 1。
相反,如果您的意思是计数方案,[0, 1, 2, 3, 4, 5, ...]则只需将索引调整为[::2]
请注意,您还可以使用负步长。例如:
print(my_list[::-1])
以相反的顺序输出列表,或:
[0, 1, -18, -12, 10, 11, 9, 7, 6, 5, 4]
把它放到一个函数中看起来像:
def make_a_list(input_list):
even_index_list = input_list[1::2]
return even_index_list
添加回答
举报