打乱排序
* * * *
拉格朗日计划
* * * *
打乱排序

给定一个打乱顺序的字母表,把给定的单词依照此单词表按字典序排序后升序输出。

每条输入数据是一字符串,其中第一个空格前的部分是字母表,之后是以空格隔开的一系列单词。把这些单词后仍以空格隔开的方式输出。

本题难度:



解答

对每个单词,找到单词中每个字母在新字母字母表中的位置,如此得一列表。以此列表为键值,用内建sorted函数的key参数排序即可。

最终代码有两行。

代码长度:108字节 vs. 全站第一:90字节。

import sys
for s in sys.argv[1:]:a=s.split();print(" ".join(sorted(a[1:],key=lambda t:[*map(a[0].find,t)])))