小白教程

 找回密码
 立即注册
查看: 7630|回复: 3

[已解决]Python基础

[复制链接]

1

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2021-3-22 13:15:25 | 显示全部楼层 |阅读模式
Python中为什么str([1,2,3])的长度为9,也就是为什么1前面没有空格,但是2,3前面都有一个空格?

最佳答案
2021-4-11 20:05:11
没有找到对应的源码,但是大致可以解释:
执行str([1,2,3])的时候,会对对内容进行格式处理:'[1, 2, 3]'(请注意现在在2和3之前都有一个空格,也符合PEP8的规范),所以也就是在整个字符串中多增加了2个空白字符,3个数字,2个逗号,2个左右中括号,总共加起来就是9个字符,长度等于9.
我再找找相关的源码,确实没有注意到这个细节!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-3-27 01:58:45 | 显示全部楼层
应该是str的原因,你len(list([1, 2, 3]))试试
回复

使用道具 举报

0

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-4-11 20:05:11 | 显示全部楼层 &
没有找到对应的源码,但是大致可以解释:
执行str([1,2,3])的时候,会对对内容进行格式处理:'[1, 2, 3]'(请注意现在在2和3之前都有一个空格,也符合PEP8的规范),所以也就是在整个字符串中多增加了2个空白字符,3个数字,2个逗号,2个左右中括号,总共加起来就是9个字符,长度等于9.
我再找找相关的源码,确实没有注意到这个细节!
回复

使用道具 举报

0

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2021-4-18 22:32:20 | 显示全部楼层
如果不考虑数值和字符转换,只想要列表的长度,直接len([1,2.3])就ok了。
>>> len([1,2,3])
3
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-11-24 15:32 , Processed in 0.042705 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表