如何将字符串转换为单个字符元组列表?

时间:2019-03-25 23:33:44

标签: python python-3.x string list

我正在尝试采取类似的措施: input =“ hello world”

并得到以下结果: [('h','e','l','l','o'),('w','o','r','l','d')]

我能够将输入拆分为单个单词,然后将单词拆分为字符列表,然后将列表拆分为元组...但是它们并没有像示例中那样被单词分隔。< / p>

sentence = input("Enter a sentence: ")
word_list = sentence.split()
print(word_list)

chars = []
for x in sentence:
    chars.append(x)
print(chars)

tuple_list = tuple(word_list)
print(type(tuple_list))

上面的代码打印 ['你好,世界'] 并不是 [('h','e','l','l','o'),('w','o','r','l','d')]

我在做什么错了?

非常感谢您!

2 个答案:

答案 0 :(得分:3)

您可以拆分字符串并将子字符串映射到元组构造函数:

s = "hello world"
list(map(tuple, s.split()))

答案 1 :(得分:2)

让我们按照您的原始尝试去做。

word_list = sentence.split() # ['hello', 'world']

我们有两个单词的列表,但是您尝试遍历来自用户的原始输入,而不是您输入的单词列表。因此,代码应变为:

chars = []
for x in word_list:
    chars.append(tuple(x))

print(chars)
# [('h', 'e', 'l', 'l', 'o'), ('w', 'o', 'r', 'l', 'd')]