将多个字符串作为列表中的一个字符串

时间:2014-01-09 12:39:55

标签: python string list string-concatenation

我应该如何将所有数字作为一个字符串而不是多个单独的字符串?

我试过这样的话:

   if len(key_val[1]) > 3:
        dictio[key_val[0]] = list(str(key_val[1]))

我得到了这个输出:

    {'parameter': ['1', '1', '0', '7', '4', '1', '3', '3', '6', '2']}

但字符串应该只是一个字符串。

2 个答案:

答案 0 :(得分:1)

您应该将代码更改为:

if len(key_val[1]) > 3:
    dictio[key_val[0]] = [str(key_val[1])]

然后你的结果将是:

{'parameter': ['1107413362']} 

原因是list()遍历字符串,产生每个字符,并将每个字符转换为列表中自己的项目。如果你想只有一个列表,并且字符串是该列表中的值,你可以使用[]创建一个列表文字列表,如果你预先配置该键,已经是一个列表,然后你可以将字符串附加到它。但我认为我上面展示的是你正在寻找的东西。

答案 1 :(得分:1)

如果预期输出为{'parameter': ['1107413362']},则使用列表文字:

dictio[key_val[0]] = [str(key_val[1])]

list()构造函数只接受一个iterable作为参数;它将从参数中获取所有元素以创建新的列表对象,并且字符串是一系列单独的字符。如果要创建包含对象的列表,请不要使用它。