如何将其转换为python中的字符串列表

2024-03-29 07:32:43 发布

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

我对python非常陌生,需要从列表中所有可能的字母排列(字母猜出来)创建一个字符串列表。但问题是我得到的列表如下:

[('a', 'b', 'c', 'd'), ('a', 'b', 'd', 'c'), ('a', 'c', 'b', 'd'), ('a', 'c', 'd', 'b'), ('a', 'd', 'b', 'c'), ('a', 'd', 'c', 'b'), ('b', 'a', 'c', 'd'), ('b', 'a', 'd', 'c'), ('b', 'c', 'a', 'd'), ('b', 'c', 'd', 'a'), ('b', 'd', 'a', 'c'), ('b', 'd', 'c', 'a'), ('c', 'a', 'b', 'd'), ('c', 'a', 'd', 'b'), ('c', 'b', 'a', 'd'), ('c', 'b', 'd', 'a'), ('c', 'd', 'a', 'b'), ('c', 'd', 'b', 'a'), ('d', 'a', 'b', 'c'), ('d', 'a', 'c', 'b'), ('d', 'b', 'a', 'c'), ('d', 'b', 'c', 'a'), ('d', 'c', 'a', 'b'), ('d', 'c', 'b', 'a')]

有没有办法把字符绑定成字符串?我试着用这个:

for i in range(0, len(t)):
    words_guessed = (''.join(t[i]))

但这会创建一个行列表,我无法将其转换为字符串列表

代码:

import itertools
letters_guessed = ['a', 'b', 'c', 'd']
t = list(itertools.permutations(letters_guessed, 4))
for i in range(0, len(t)):
    words_guessed = (''.join(t[i]))
print(t)

Tags: 字符串in列表forlen字母range字符
1条回答
网友
1楼 · 发布于 2024-03-29 07:32:43

最简单的方法是使用map将结果元组连接到字符串中:

list(map(''.join, t))
# ['abcd', 'abdc', 'acbd', 'acdb', 'adbc'...

请注意:

for i in range(0, len(t)):
    words_guessed = (''.join(t[i]))

你不会对加入一个给定元组的结果做任何事。您只是在每次迭代中覆盖words_guessed。您可以对生成的置换进行迭代,并将它们append转换为words_guessed作为列表:

words_guessed = []
for i in permutations(letters_guessed, 4):
    words_guessed.append(''.join(i))

相关问题 更多 >