描述
定义函数rev_pair(slist),其参数是一个列表,并且列表中所有元素都是字符串。这个函数返回另一个列表,返回的列表的所有元素都是由两个来自slist的字符串组成的元组,并且互为反转。在slist中先出现的字符串在这个元组的左边,后出现的在右边。左边的字符串在slist中先出现的元组,在返回值的列表中先出现,相同的字符串只在返回值中出现一次。
所有的字符串中的字符都是大小写英文字母或者0到9。
输入
一个列表,使用Python通常的格式。
输出
直接print rev_pair的返回值。
样例输入
['abc', 'ded', 'cba', 'ffa']
样例输出
[('abc', 'cba'), ('ded', 'ded')]
# endcoding : UTF-8
"""
@author = 寻找任大侠
@email = renjx@stu.pku.edu.cn
@create_time = 2021/12/11 15:00
"""
# 反转字符
def reverse(s):
r = ""
for i in range(len(s)):
r += (s[len(s) - i - 1])
return r
def rev_pair(slist):
res = []
# 去重,防止重复添加
res_set = set()
for i in slist:
j = reverse(i)
if j in slist and j not in res_set:
res.append((i, j))
# 字符和反转字符不可重复
res_set.add(i)
res_set.add(j)
return res
slist = []
exec('slist=' + input())
print(rev_pair(slist))