Python迭代/操作策略

2024-04-18 18:16:03 发布

您现在位置:Python中文网/ 问答频道 /正文

假设您想通过使用算法将字符串更改为“fbcheagd”来操作字符串“abcdefgh”。下面哪种策略可以让项目更快完成,或者两者都以平手完成?你知道吗

方案1:

msg,out,key = 'abcdefgh',str(),[5,1,2,7,4,0,6,3]
for i in key:
     out += msg[i]
msg = out
print(msg)

方案2:

msg,out = 'abcdefgh',str()
key = {'a':'f','b':'b','c':'c','d':'h','e':'e','f':'a','g':'g','h':'d'}
for i in msg:
     out += key[i]
msg = out
print(msg)

Tags: 项目key字符串in算法for方案msg
1条回答
网友
1楼 · 发布于 2024-04-18 18:16:03

也许我们可以尝试使用python内置和一行程序。你知道吗

In [1]: msg='abcdefgh'

In [2]: key=[5,1,2,7,4,0,6,3]

In [3]: ''.join(zip(*sorted(zip(list(msg), key), key=lambda item:item[1]))[0])
Out[3]: 'fbcheagd'

不太喜欢oneliner,因为这样组合会影响可读性,但它是有效的。你知道吗

相关问题 更多 >