如果我的订单不如列表那么多,如何洗牌
how to shuffle a list if i have order is not as much as list
我想用函数 shuffle_order 打乱列表,
这是我的代码:
def shuffle_order(txt,order):
return ''.join([txt[i] for i in order])
print(shuffle_order(['abcd','ienf','dfjs'],[2,1,3,0]))
我希望结果看起来像这样['cbda','nefi','jfsd']
如果我对你的问题的理解正确,你想根据你提供的顺序列表重新排序列表中的每个字符串。你可以试试这个:
def reorder_str(s, order):
return ''.join([s[i] for i in order])
def encrypt_lst(lst, order):
return [reorder_str(s, order) for s in lst]
print(encrypt_lst(['abcd', 'ienf', 'dfjs'], [2, 1, 3, 0]))
['cbda', 'nefi', 'jfsd']
我想用函数 shuffle_order 打乱列表, 这是我的代码:
def shuffle_order(txt,order):
return ''.join([txt[i] for i in order])
print(shuffle_order(['abcd','ienf','dfjs'],[2,1,3,0]))
我希望结果看起来像这样['cbda','nefi','jfsd']
如果我对你的问题的理解正确,你想根据你提供的顺序列表重新排序列表中的每个字符串。你可以试试这个:
def reorder_str(s, order):
return ''.join([s[i] for i in order])
def encrypt_lst(lst, order):
return [reorder_str(s, order) for s in lst]
print(encrypt_lst(['abcd', 'ienf', 'dfjs'], [2, 1, 3, 0]))
['cbda', 'nefi', 'jfsd']