user256107 February 2016

python list elements start with and end with same character

Very new and beginner to python, got a small assignment to do this

Suppose that you have a list of strings named samples.
Write a Python loop that goes through the list and counts the number of strings where the string length is 2 or more and the first and last characters of the strings are the same.

Test your code on the following three versions of the list samples:
samples = ['aba', 'xyz', 'aa', 'x', 'bbb']
samples = ['', 'x', 'xy', 'xyx', 'xx']
samples = ['aaa', 'be', 'abc', 'hello']

What i tried did not work it returned nothing for me

samples=['aba', 'xyz','aa', 'x', 'bbb']
for elem in samples:
 if ( len(elem) >=2 and str.startswith('"') and str.endswith('"')):
  print(elem)

Answers


Prune February 2016

The quotation marks are not part of the string; they will not match for you. Rather, you want an innermost comparison such as

elem.endswith(elem[0])

Note that str is the documentation's way of saying "put your string here". Let's update the program so far:

samples=['aba', 'xyz','aa', 'x', 'bbb']
for elem in samples:
    if (len(elem) >=2 and elem.endswith(elem[0])):
        print(elem)

Output:

aba
aa
bbb

Post Status

Asked in February 2016
Viewed 2,721 times
Voted 10
Answered 1 times

Search




Leave an answer