我应该如何将所有数字作为一个字符串而不是多个单独的字符串?
我试过这样的话:
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']}
但字符串应该只是一个字符串。
答案 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作为参数;它将从参数中获取所有元素以创建新的列表对象,并且字符串是一系列单独的字符。如果要创建包含对象的列表,请不要使用它。