繁体   English   中英

字符串在将字符添加到元组时拆分为字符

[英]String splits to characters while adding it to tuple

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

我的代码:

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)

产量

[(“'“, '你好,世界', ” '“), (“'“, '你好,世界','','1',''“)]

预期产出

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

您可以使用(item,)表示包含单个项目的元组。 所以你的清单可以表达出来

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

之间的区别tuple(string)(string,)是,前者是一个tuple与另一序列(即恰好是一个字符串)制成,而后者是一个包含一个字符串的元组。

你的错误是tuple(s) s str )不会将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)

要扩展其他人的答案,另一种让它知道你想要用单个字符串制作元组的方法是提供一个列表。

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM