Python Forum
How to change odd to even numbers in the list?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to change odd to even numbers in the list?
#1
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.
Reply
#2
Use a for loop/compression?
Reply
#3
(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.
Reply
#4
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.
Reply
#5
Hi @plumberpy,
Please read the tutorial of lists. The last example of this chapter 3.1.3 answers your question.
Reply
#6
(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.
Reply
#7
(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.
Reply
#8
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]]
I welcome all feedback.
The only dumb question, is one that doesn't get asked.

My Scripts
CookBook - Shmup - PyQt5 Music Player


Reply
#9
(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.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  producing numbers out of a list bouraque7878 10 858 Nov-12-2021, 09:13 PM
Last Post: jefsummers
  Change font in a list or tuple apffal 3 553 Oct-14-2021, 05:26 AM
Last Post: ndc85430
  Change a list to integer so I can use IF statement buckssg 3 634 Sep-21-2021, 02:58 AM
Last Post: bowlofred
  change csv file into adjency list ainisyarifaah 0 395 Sep-21-2021, 02:49 AM
Last Post: ainisyarifaah
  convert numbers into list lokesh 1 956 Jun-03-2021, 06:37 AM
Last Post: menator01
  Question about change hex string to integer sting in the list (python 2.7) lzfneu 1 928 May-24-2021, 08:48 AM
Last Post: bowlofred
  adding numbers in a list Nickd12 2 1,023 Jan-15-2021, 12:46 PM
Last Post: Serafim
  LIST or ARRAY Comparison and change of value nio74maz 0 746 Dec-21-2020, 05:52 PM
Last Post: nio74maz
Question dict value, how to change type from int to list? swissjoker 3 1,184 Dec-09-2020, 09:50 AM
Last Post: perfringo
  Print max numbers in a list jimmoriarty 1 914 Sep-25-2020, 07:29 AM
Last Post: DPaul

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020