372,510 views
31 votes
31 votes
Q1). Write a python program to pass a list to a function and double the odd values and half even values of a list and display list elements after changing.​

User Peleke
by
2.4k points

1 Answer

14 votes
14 votes

Answer:


\textsf{\large{\underline{Solution}:}}

The given problem is solved using language - Python.

def f(x):

new_list=[]

for i in x:

if i%2==0:

new_list.append(i//2)

else:

new_list.append(i*2)

return new_list

my_list=list(range(1,6))

print('Original List:',my_list)

my_list=f(my_list)

print('Modified List:',my_list)


\textsf{\large{\underline{Logic}:}}

  1. Create a new list.
  2. Iterate over the list passed into the function.
  3. Check if the element is even or not. If true, append half the value of element in the list.
  4. If false, append twice the value of the element in the list.
  5. At last, return the new list.

There is another way of doing this - By using map() function.

—————————————————————————————

def f(x):

return list(map(lambda x:x//2 if x%2==0 else 2*x,x))

my_list=list(range(1,6))

print('Original List:',my_list)

my_list=f(2my_list)

print('Modified List:',my_list)

—————————————————————————————


\textsf{\large{\underline{O{u}tput}:}}

Original List: [1, 2, 3, 4, 5]

Modified List: [2, 1, 6, 2, 10]

User Pavon
by
2.2k points