蟒蛇。为什么从int把它串后列表的长度发生变化?

时间:2019-01-31 12:16:57

标签: python-3.x

我在名为UserList的列表中有很多用户。 而且我不希望输出包含方括号,因此我运行以下行:

UserList = [1,2,3,4...]
UserListNoBrackets = str(UserList).strip('[]')

但是如果我跑步:

len(UserList) #prints22 (which is correct).

但是:

len(UserListNoBrackets) #prints 170 (whaaat?!)

无论如何,输出实际上是正确的(我很确定)。只是不知道为什么发生这种情况。

2 个答案:

答案 0 :(得分:2)

您可能需要str.join

例如:

user_list = [1,2,3,4...]
print(",".join(map(str, user_list)))

注意: 使用map方法将列表中的所有int元素转换为字符串。

答案 1 :(得分:2)

这里:

UserListNoBrackets = str(UserList).strip('[]')

UserListNoBrackets是一个字符串。字符串是字符序列,len(str)返回字符串中的字符数。逗号是一个字符,空格是一个字符,并且整数的字符串表示形式包含许多字符,因为整数中有数字。很明显,UserListNoBrackets字符串的长度比UserList列表的长度大。