Python Forum
How to change odd to even numbers in the list? - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: How to change odd to even numbers in the list? (/thread-34544.html)



How to change odd to even numbers in the list? - plumberpy - Aug-08-2021

Newbie here. Struggling with this simple problem.

x2=[[2,4,6],[1,3,5],[7,8,9]]

Want to change to

x2=[[2,4,6],[2,4,6],[8,8,10]]

A. Change odd numbers to the next available even numbers, i.e., 1 to 1+1, 3 to 3+1 etc.

B. x2[0] will give me the 1st list. How can I get the individual numbers in that list?

Thanks.


RE: How to change odd to even numbers in the list? - ndc85430 - Aug-08-2021

Use a for loop/compression?


RE: How to change odd to even numbers in the list? - plumberpy - Aug-08-2021

(Aug-08-2021, 05:38 AM)ndc85430 Wrote: Use a for loop/compression?
Thanks.

Appreciate more infor.

My plan is to look at each number in the lists and then do the odd to even number correction. But cannot extract the individual numbers, but the whole lists.


RE: How to change odd to even numbers in the list? - ndc85430 - Aug-08-2021

Are you not allowed to look at the individual values in the list? If not, why not?

If you are, then do you know how to use a for loop or comprehension? If not, look those things up.


RE: How to change odd to even numbers in the list? - ibreeden - Aug-08-2021

Hi @plumberpy,
Please read the tutorial of lists. The last example of this chapter 3.1.3 answers your question.


RE: How to change odd to even numbers in the list? - plumberpy - Aug-08-2021

(Aug-08-2021, 07:31 AM)ibreeden Wrote: Hi @plumberpy,
Please read the tutorial of lists. The last example of this chapter 3.1.3 answers your question.

Noted and thanks.

The trick is to use x[ ] [ ] to get the required data for a list within a list. Did not know that. Too used to x( , ) format. Maybe future Python upgrade can simplify the syntax to x[ , ]. Ha.

I will play around with x[ ] [ ] to solve my problem.

Many thanks.


RE: How to change odd to even numbers in the list? - plumberpy - Aug-08-2021

(Aug-08-2021, 06:25 AM)ndc85430 Wrote: Are you not allowed to look at the individual values in the list? If not, why not?

If you are, then do you know how to use a for loop or comprehension? If not, look those things up.

Thanks.

Tried out a comprehension example. It works for strings but I cannot get it to do what I want with the numbers in the second layer in a list.

Cheerio.


RE: How to change odd to even numbers in the list? - menator01 - Aug-08-2021

here is one way

#! /usr/bin/env python3

x = [[2, 4, 6], [1, 3, 5], [7, 8, 9]]

for inner_list in x:
    for num in range(0, len(inner_list)):
        if inner_list[num] % 2 != 0:
            inner_list[num] = inner_list[num] + 1
print(x)
Output:
[[2, 4, 6], [2, 4, 6], [8, 8, 10]]



RE: How to change odd to even numbers in the list? - plumberpy - Aug-08-2021

(Aug-08-2021, 10:40 AM)menator01 Wrote: here is one way

#! /usr/bin/env python3

x = [[2, 4, 6], [1, 3, 5], [7, 8, 9]]

for inner_list in x:
    for num in range(0, len(inner_list)):
        if inner_list[num] % 2 != 0:
            inner_list[num] = inner_list[num] + 1
print(x)
Output:
[[2, 4, 6], [2, 4, 6], [8, 8, 10]]
Many many thanks!

Yours is a lot simpler than what I have in mind.

Cheerio.