How to know if a list has an even or odd number of elements
14,467
Solution 1
You can use the built in function len()
for this.
Gets the length (# of elements) of any arbitrary list.
myList = [0,1,2,3,4,5]
if len(myList) % 2 == 0:
print ("even")
else
print ("odd")
Define function that returns a bool (true or false).
def is_even(myList):
if len(myList) % 2 == 0:
return true
else:
return false
main():
myList = [0,1,2,3]
theListIsEven = is_even(myList) # will be true in this example
# because 4 items in myList
if theListIsEven(myList) == True:
# do something
else:
# do something else
return 0
The modulus operator %
gives the remainder.
EX: 7 % 2 = 1
- Closest number to 7 that 2 will divide evenly is 6
- Which is 1 away from 7.
- Thus, remainder of 1 for 7 % 2.
EX: 4 % 2 = 0
- Any even number n will give 0 as the remainder when n % 2
- Because n has divided evenly by 2
Solution 2
your_list = [1,2,3,(4,5)]
# modulo operation finds the remainder of division of one number by another.
if len(your_list) % 2 == 0:
print "Even Number"
else:
print"number is odd"
Solution 3
All you need is
len(listName)
Which will give you the length.
I guess you could also do this then
if len(listName) % 2 == 0:
return True # the number is even!
else:
return False # the number is odd!
Solution 4
if len(mylist)%2==0:
#even
else:
#odd
Solution 5
def has_even_length(some_sequence):
return not len(some_sequence)%2
def has_odd_length(some_sequence):
return bool(len(some_sequence)%2)
Author by
user3029969
Updated on June 14, 2022Comments
-
user3029969 almost 2 years
How can I find out if there is even, or odd, number of elements in an arbitrary list.
I tried
list.index()
to get all of the indices... but I still don't know how I can tell the program what is an even and what is an odd number.-
loopbackbee over 10 yearsyou can get the number of elements of a list using the
len()
builtin function -
user3029969 over 10 years@goncalopp... but how would I tell it is odd number of even
-
dm03514 over 10 years
len(your_list) % 2 == 0
-
user3029969 over 10 years@dm03514 ... what does your code mean
-
datenwolf over 10 years@user3029969: It does what you asked for.
-
-
user3029969 over 10 yearsbut how would I tell it is odd number of even for any arbitrary list
-
datenwolf over 10 yearsBy applying modulus 2 on the returned length of the list. Which is exactly what codehorse did in his answer.
-
jonhopkins over 10 years@user3029969, the code
len(listName) % 2
is dividing the number of elements in the array by 2 and returning the remainder. If the remainder is 0, then the number of elements is divisible by 2, which means it is even. If it returns 1, then it is odd. -
Ed S. over 10 years
return len(listName) % 2 == 0