我正在尝试使用Python
选择下面列表中包含相同的第一个和最后一个字符的单词:
我知道我需要使用random_strings,但我不知道如何。
['xerox', 'trust', 'follow', 'blurb', 'maroon', 'ready', 'salad', 'yummy', 'evidence']
我正在寻找这个结果:
['xerox', 'trust', 'blurb', 'yummy', 'evidence']
由于
答案 0 :(得分:5)
>>> words = ['xerox', 'trust', 'follow', 'blurb', 'maroon', 'ready', 'salad', 'yummy', 'evidence']
>>> [w for w in words if w[0] == w[-1]]
['xerox', 'trust', 'blurb', 'yummy', 'evidence']
答案 1 :(得分:3)
另一种可能性是在Python3中使用解包:
s = ['xerox', 'trust', 'follow', 'blurb', 'maroon', 'ready', 'salad', 'yummy', 'evidence']
final_words = [''.join([a, *b, c]) for a, *b, c in s if a == c]
输出:
['xerox', 'trust', 'blurb', 'yummy', 'evidence']
答案 2 :(得分:1)
试试这段代码!
我还附上了代码输出的截图。
list = ['xerox', 'trust', 'follow', 'blurb', 'maroon', 'ready', 'salad', 'yummy', 'evidence']
for i in range(0,len(list)):
if list[i][:1]==list[i][-1:]:
print(list[I])
答案 3 :(得分:1)
我建议你过滤掉endswith
第一个字符的单词。
words = ['xerox', 'trust', 'follow', 'blurb', 'maroon',
'ready', 'salad', 'yummy', 'evidence']
result = [w for w in words if w.endswith(w[:1])]
这有一个特殊的行为,它甚至可以在空字符串上工作。