找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 468|回复: 1

[求助] 列表值在内存的位置,为什么很有规律的占用内存的位置?

1

主题

3

帖子

3

积分

贫民

积分
3
pythonbaicai 发表于 2019-1-11 10:40:08 | 显示全部楼层 |阅读模式
本帖最后由 pythonbaicai 于 2019-1-11 10:41 编辑

list在while和for循环中的使用,通过ID查看,发现ID值很有规律,不知道为什么
代码如下
#_*_coding:utf-8 _*_
catNames = []
#while代码块用于实现将名字不断附加到列表
while True:
print('请输入猫的名字:'+ str(len(catNames) + 1) + '(或者什么都不输入停止工作)')
name= input()
ifname == '':
break
catNames= catNames + [name]
print('catNames在内存的位置:%d' % id(catNames))
print(catNames)
print('这些猫的名字:')
#for循环负责打印出列表内的名字
for name incatNames:
print(''+ name)

执行结果
D:\pythonfile>python list-while-for.py
请输入猫的名字:1(或者什么都不输入停止工作)
wow
catNames 在内存的位置:30834760
['wow']
请输入猫的名字:2(或者什么都不输入停止工作)
vov
catNames 在内存的位置:30865736
['wow', 'vov']
请输入猫的名字:3(或者什么都不输入停止工作)
dvd
catNames 在内存的位置:3887880
['wow', 'vov', 'dvd']
请输入猫的名字:4(或者什么都不输入停止工作)
ovr
catNames 在内存的位置:30834760
['wow', 'vov', 'dvd', 'ovr']
请输入猫的名字:5(或者什么都不输入停止工作)
ror
catNames 在内存的位置:30865736
['wow', 'vov', 'dvd', 'ovr', 'ror']
请输入猫的名字:6(或者什么都不输入停止工作)
fof
catNames 在内存的位置:3887880
['wow', 'vov', 'dvd', 'ovr', 'ror', 'fof']
请输入猫的名字:7(或者什么都不输入停止工作)

这些猫的名字:
wow
vov
dvd
ovr
ror
fof





回复

使用道具 举报

0

主题

458

帖子

458

积分

骑士

积分
458
sheeboard 发表于 2019-1-11 20:54:15 | 显示全部楼层
我猜是C语言里的数组变量写的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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