两道困惑很久的python题,如何按照他的思路写程序?

img

img

这两道python到底如何按照他的思路写程序?想了很久,希望各路神仙解答!感谢感谢

第一道题, 简单一点,就是三层遍历,
输出所有合计为0的组合, 将三个数排序,去重

第二道题
以前看一个讲排序的, 可以获取原来列表的index作为排重后的元素排序依据
可以这么处理

def noDuplicates(str_x):
    return "".join(sorted(list(set(str_x)),key=str_x.index))

print(noDuplicates('abbbcdcefedcba'))


import itertools as it

y = [-1, 0, 1, 2, -1, -4, 6, -2]
res = it.combinations(y, 3)
result = [sorted(i) for i in res if sum(i) == 0]
print(result)

x = 'abggbcdcefedcbag'
s = []
[s.append(i) for i in x if i not in s]
print(''.join(s))
#版本高一点的可以用海象运算符,如下
x = 'aghdfsswwaaa'
s = ''
[s :=s + i  for i in x if i not in s]
print(s)