如何在Python中查找字符串中的偶数

如何在Python中查找字符串中的偶数,python,Python,我试图在字符串中找到偶数 s = "75,41,14,8,73,45,-16" evenNumbers = [] for number in s.split(","): if int(number) % 2 == 0 and int(number) > 0: evenNumbers += number evenNumbers = ','.join(evenNumbers) print("Even Numbe

我试图在字符串中找到偶数

    s = "75,41,14,8,73,45,-16"
    evenNumbers = []

    for number in s.split(","):
        if int(number) % 2 == 0 and int(number) > 0:
            evenNumbers += number

    evenNumbers = ','.join(evenNumbers)
    print("Even Numbers : \"{}\"".format(evenNumbers))
它的输出就像

Even Numbers : "1,4,8"
我想让它像

Even Numbers : "14,8"

您需要在列表中添加数字,而不是字符串

evenNumbers += int(number)
然后连接字符串

evenNumbers = ','.join(map(str, evenNumbers))

否则,请执行
evenNumbers.append(number)


或者在一条线上完成这一切

evenNumbers = ','.join(filter(lambda x: int(x) % 2 == 0 and int(x) > 0, "75,41,14,8,73,45,-16".split(",")))

您可以将号码附加到列表中。大概是这样的:

s = "75,41,14,8,73,45,-16"
evenNumbers = []

for number in s.split(","):
    if int(number) % 2 == 0 and int(number) > 0:
        evenNumbers.append(number)

print("Even Numbers : \"{}\"".format(evenNumbers))
“['14','8']”


你也可以列出你的理解

even_numbers = [n for n in s.split(',') if int(n) % 2 == 0]

您将使用此选项获取预期输出。您只需将
evenNumbers+=number
替换为
evenNumbers.append(int\u num)


evenNumbers+=number
替换为
evenNumbers。追加(number)
?生成int(number)无效。但是我把偶数的类型改为数组。然后我添加evenNumbers=',join(map(str,evenNumbers))。它确实起了作用。谢谢。你说的“将类型更改为数组”是什么意思?我需要一个输出,如:偶数:“14,8”,然后你必须将最后一行更改为:print(“偶数:{}”。格式(str(偶数)。replace(“[”,”)。replace(“]”,”)。replace(“,”)。它将列表转换为字符串,并替换不需要的字符。
s = "75,41,14,8,73,45,-16"
evenNumbers = []

for number in s.split(","):
    int_num = int(number)
    if int_num % 2 == 0 and int_num > 0:
        evenNumbers.append(int_num)

print("Even Numbers : \"{}\"".format(evenNumbers))