python列表元素以相同的字符开头和结尾

时间:2016-02-09 00:36:53

标签: python list

非常新手和初学者到python,得到了一个小任务来做到这一点

假设您有一个名为samples的字符串列表。
编写一个遍历列表的Python循环,并计算字符串长度为2或更多的字符串数 字符串的第一个和最后一个字符是相同的。

在列表示例的以下三个版本上测试您的代码:
samples = ['aba','xyz','aa','x','bbb']
samples = ['','x','xy','xyx','xx']
samples = ['aaa','be','abc','hello']

我尝试的不起作用它没有给我任何回报

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

2 个答案:

答案 0 :(得分:0)

引号不是字符串的一部分;他们不适合你。相反,你想要一个最里面的比较,如

elem.endswith(ELEM [0])

请注意, str 是文档说“把你的字符串放在这里”的方式。让我们到目前为止更新程序:

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

输出:

aba
aa
bbb

答案 1 :(得分:0)

这里是一个答案,希望对您有所帮助

results = [x for x in samples if len(x)>=2 and x[0]==x[-1]]

基本上,结果是通过过滤具有2个条件的样本创建的新列表。