获取字符串列表并返回另一个特定列表的函数

时间:2015-05-25 23:02:57

标签: python list

我需要创建一个获取单词列表的函数,然后我想检查该列表中的所有字符串并返回另一个字符串列表,其中字符串的第一个和最后一个字符是相同的。

例如,给定 /** * @var array * * @ORM\OneToMany(targetEntity="OrderRow", mappedBy="order", cascade={"persist"}) */ private $orderRows; 输出应为input_list = ['a','aa','aba','abb']

3 个答案:

答案 0 :(得分:4)

尝试以下方法:

def myfunc(lst):
     return [item for item in lst if len(item) > 1 and item[0] == item[-1]]
>>> myfunc(['a','aa','aba','abb'])
['aa', 'aba']
>>> 

答案 1 :(得分:1)

解决这个问题的方法通常是过滤列表,而不是将其视为不同的列表,并定义任何函数(常规函数或lambda函数)来表示需要过滤的内容。这样,您的代码就可以清晰,易于测试和维护:

filteredList = filter(lambda x: len(x) > 1 and x[0] == x[-1], myList)

#or:
def starts_and_ends_with_same_char(subject):
    return len(subject) > 1 and str[0] == subject[-1]

filteredList = filter(starts_and_ends_with_same_char, myList)

答案 2 :(得分:0)

稍微打高尔夫球:

>>> [s for s in lst if s[1:] and s[0] == s[-1]]
['aa', 'aba']