【问题标题】:how to deshuffle from shuffle abcd in python? [closed]如何从 python 中的 shuffle abcd 中去洗牌? [关闭]
【发布时间】:2020-10-13 17:37:05
【问题描述】:

我编写代码来制作 shuffle 和 de_shuffle。但在 de_shuffle 中。 这是我的代码:

def shuffle_order(plain_text,order):
   return ''.join([plain_text[i] for i in order])


def de_shuffle_order(text_rand,order):
   
   return ''.join([text_rand[i] for i in order],order)

print(shuffle_order('abcd',[2,1,3,0]))
print(de_shuffle_order('cbad',[2,1,3,0]))

我的输出是:

 cbda
 abdc #i want to make abcd

【问题讨论】:

  • 你的“a”和“d”放错了

标签: python string random shuffle


【解决方案1】:

我认为'cbad' 是一个错字,应该是'cbda'

def shuffle_order(plain_text,order):
   return ''.join([plain_text[i] for i in order])


def de_shuffle_order(text_rand,order):
    d = dict(zip(text_rand, order))
    return ''.join(sorted(text_rand, key=lambda k: d[k]))


print(shuffle_order('abcd',[2,1,3,0]))
print(de_shuffle_order('cbda',[2,1,3,0]))

打印:

cbda
abcd

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 2021-11-07
    • 1970-01-01
    相关资源
    最近更新 更多