Python Forum
get positive number from a list if there's the same number but negative
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
get positive number from a list if there's the same number but negative
#11
yes, sorry, i meant : "if m in lis and -m in lis:"
but anyways, you're right, i just need " if -m in lis: "
thanks for help
Reply
#12
You wrote in your first post:
   Is there a simpler way?

What do you mean with simple:
a. less code
b. code should run faster

If b:
   Your code runs twice over the list.
   I assume there is an algorithm
   that runs only once over the list.
Reply
#13
i wanted a shorter code but doing the same as the one i used firstly which was :
list_one = [-8, 8, 144, 17]
  
def test(lis):
    m = min(lis, key=abs)
    if m < 0:
        if m and m*-1 in lis:
            return m*-1
        else:
            return m
    else:
        return m
 
print test(list_one)
now i have:

list_one = [-8, 8, 144, 17]
def test(lis):
    m = min(lis, key=abs)
    if -m in lis:
        return abs(m)
    else:
        return m
 
print test(list_one)
Reply
#14
def test(lis):
    m = min(lis, key=abs)
    return abs(m) if -m in lis else m
Reply
#15
My code loops through list once and seems to handle all cases (just returns [0] if there's a zero in there etc):
a=[-16,4,16,7,-4]
def getzeroclosest(a):
    negmax=None
    posmin=None
    for n in a:
        if n==0:
            return [0]
        elif n<0:
            if negmax==None:
                negmax=n
            if n>negmax:
                negmax=n
        elif n>0:
            if posmin==None:
                posmin=n
            if n<posmin:
                posmin=n
    if -negmax==posmin:
        return [posmin,negmax]
    elif -negmax<posmin:
        return [negmax]
    else:
        return [posmin]
print getzeroclosest(a)
Thanks for reading My code that I typed with My fingers on My keyboard. Yeah right, there's no self ownership in this totalitarian world, none of those things are mine, we're all slaves.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Send SMS from my phone number aster 4 3,964 May-11-2025, 05:48 PM
Last Post: TheTechNexus
Question [redistribution] Reduce number + size of dependencies? Winfried 2 755 Jan-31-2025, 10:17 PM
Last Post: snippsat
  Syntax for Doubling a number ksp_802 3 800 Jan-12-2025, 07:04 PM
Last Post: ksp_802
  Printing the code line number arbiel 6 1,804 Jun-30-2024, 08:01 AM
Last Post: arbiel
  Finding the price based on industry and number of transactions chandramouliarun 1 1,809 Jun-04-2024, 06:57 PM
Last Post: marythodge4
Music Python Script Repeating Number When Saving Facebook Photos ThuanyPK 2 1,161 May-13-2024, 10:59 PM
Last Post: ebn852_pan
  intering int number akbarza 1 1,117 Apr-28-2024, 08:55 AM
Last Post: Gribouillis
  negative memory usage akbarza 1 1,352 Apr-27-2024, 08:43 AM
Last Post: Gribouillis
Brick Number stored as text with openpyxl CAD79 2 5,435 Apr-17-2024, 10:17 AM
Last Post: CAD79
  [SOLVED] Pad strings to always get three-digit number? Winfried 2 1,395 Jan-27-2024, 05:23 PM
Last Post: Winfried

Forum Jump:

User Panel Messages

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