字符串拆分为字符,同时将其添加到元组

时间:2018-09-24 17:26:55

标签: python list tuples python-3.5

我试图将带字符串的元组追加到列表中,将元组追加到列表后,元组将字符串拆分为其字符。

我的代码:

onChanged

输出

  

[(“”,“ h”,“ e”,“ l”,“ l”,“ o”,“,” w“,” o“,” r“,” l“,” d ',“'”),(“'”,'h','e','l','l','o',','w','o','r','l' ,'d','','1',“'”))

预期输出

  

[('hello world'),('hello world 1')]

3 个答案:

答案 0 :(得分:5)

您可以用(item,)代表一个包含单个项目的元组。因此,您的列表可以用

表示
new_data = [(data,) for data in raw_data]
# [('hello world',), ('hello world 1',)]

tuple(string)(string,)之间的区别在于,前者是由另一个序列(碰巧是字符串)组成的tuple,而后者是一个包含单字符串。

答案 1 :(得分:3)

您的错误是tuple(s)(带有sstr)没有将s放在tuple内,而是创建了tuple每个元素都是s中的一个字符。而是使用文字tuple语法(s,)(然后是一个元素的tuple,即s):

def create_list():
    raw_data = ['hello world', 'hello world 1']
    new_data = []

    for data in raw_data:
        new_data.append(("'"+str(data)+"'",))
    print(new_data)

答案 2 :(得分:1)

要扩展其他人的答案,另一种让您知道要使用单个字符串创建元组的方法是提供一个列表。

def create_list():
    raw_data = ['hello world', 'hello world 1']
    new_data = []
    for data in raw_data:
        new_data.append(tuple([data]))
    print(new_data)