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 Github
How to post code using bbtags


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
  How do I calculate a ratio from 2 numbers and return an equivalent list of about 1000 Pleiades 8 15,435 Jan-05-2024, 08:30 PM
Last Post: sgrey
  Change font in a list or tuple apffal 4 2,632 Jun-16-2023, 02:55 AM
Last Post: schriftartenio
  find random numbers that are = to the first 2 number of a list. Frankduc 23 3,012 Apr-05-2023, 07:36 PM
Last Post: Frankduc
  List of random numbers astral_travel 17 2,530 Dec-02-2022, 10:37 PM
Last Post: deanhystad
  Remove numbers from a list menator01 4 1,251 Nov-13-2022, 01:27 AM
Last Post: menator01
  [split] why can't i create a list of numbers (ints) with random.randrange() astral_travel 7 1,428 Oct-23-2022, 11:13 PM
Last Post: Pedroski55
  How to change the datatype of list elements? mHosseinDS86 9 1,896 Aug-24-2022, 05:26 PM
Last Post: deanhystad
  find some word in text list file and a bit change to them RolanRoll 3 1,482 Jun-27-2022, 01:36 AM
Last Post: RolanRoll
  Divide a number by numbers in a list. Wallen 7 7,923 Feb-12-2022, 01:51 PM
Last Post: deanhystad
  producing numbers out of a list bouraque7878 10 3,618 Nov-12-2021, 09:13 PM
Last Post: jefsummers

Forum Jump:

User Panel Messages

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