• 1401/06/19

سوال در رابطه با map :

سلام استاد اردوخانی .

من یک سوالی دارم از مبحث map

کد زیر را نگاه کنید.

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

newnumbers=list(map(lambda x:x*2 if x%2==0 ,numbers))

print(newnumbers)

 

من میخواهم از لیست numbers فقط اعداد زوج را خارج کنم و در ضمن ضربدر دو کنم. به if خطا میگیرد! 

اگر با else بنویسم مشکل ندارد ولیif تنها را مشکل میگرد.

مشکل از چیست؟

تشکر

  • 1401/06/21
  • ساعت 17:16

سلام ، کسی نیست راهنمایی کنه؟!


  • 1401/07/04
  • ساعت 20:40

با سلام.

 

با استفاده از filter می توانید این کار را به شکل زیر انجام دهید:

numbers = [1,2,3,4,5,6,7,8]
newnumbers = filter(lambda x:x%2==0, numbers)
newnumbers = list(map(lambda x:x*2, newnumbers))

print(newnumbers) 

# Output:
[4, 8, 12, 16]

 

عذرخواهی مرا به سبب تاخیر در پاسخگویی پذیرا باشید.


logo-enamadlogo-samandehi