在Python中有没有混淆字符串的方法?
我正在写一个程序,需要在Python中把一个列表里的字符串的字母打乱顺序。比如说,我有一个这样的字符串列表:
l = ['foo', 'biology', 'sequence']
我想要的结果是这样的:
l = ['ofo', 'lbyoogil', 'qceeenus']
请问有什么好的方法可以做到这一点呢?
谢谢你的帮助!
5 个回答
3
你可以使用 random.shuffle 这个功能:
>>> import random
>>> x = "sequence"
>>> l = list(x)
>>> random.shuffle(l)
>>> y = ''.join(l)
>>> y
'quncesee'
>>>
通过这个,你可以创建一个函数来实现你想要的效果。
4
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能会在使用某个功能时,发现它的表现和预期不一样,这时候就需要去查找原因。
通常,解决这些问题的第一步是查看文档,看看有没有相关的说明或者例子。如果文档没有帮助,我们可以去社区,比如StackOverflow,看看其他人是否遇到过类似的问题,并找到解决方案。
在提问时,描述问题要尽量清楚,提供一些代码示例,这样别人才能更好地理解你的问题并给出帮助。记得把你尝试过的解决方法也写上,这样可以避免别人重复你的尝试。
总之,遇到问题时不要着急,先查文档,再问社区,通常都能找到解决办法。
import random
words = ['foo', 'biology', 'sequence']
words = [''.join(random.sample(word, len(word))) for word in words]
32
Python自带很多功能,像是有电池一样,使用起来很方便。
>>> from random import shuffle
>>> def shuffle_word(word):
... word = list(word)
... shuffle(word)
... return ''.join(word)
列表推导式是一种简单的方法,用来创建一个新的列表:
>>> L = ['foo', 'biology', 'sequence']
>>> [shuffle_word(word) for word in L]
['ofo', 'lbyooil', 'qceaenes']