如何使用Python打印偶数列表

2024-04-26 19:02:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个python程序,它将提示用户输入大于1的整数,并将这些整数读入一个列表,然后生成两个列表并返回这些值。我应该从哪里开始?你知道吗

已创建名为“ListofNumber”的列表。我需要生成一个新的列表,其中只包含listOfNumbers中的整数,这些整数在listOfNumbers中甚至有诱导数。你知道吗

def make_a_list(*listOfNumbers):
    for x in numList:
        if x % 2 == 0:
        print x
        listOfNumbers.append(x)

print(make_a_list(4, 5, 6, 7, 9, 11, 10, -12, -18, 1, 0)

我排除了一个用户类型为一系列数字的列表,但我不确定结果如何。你知道吗


Tags: 用户in程序列表formakeifdef
3条回答

正如@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

循环时使用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

这将给出所有偶数的列表

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)

相关问题 更多 >