美文网首页程序员
python中<list>和<list>

python中<list>和<list>

作者: adonis_stan | 来源:发表于2019-01-07 18:39 被阅读26次
word = ['123', 'abc', 'abcdefg']
print(id(word))
print(id(word[0]))
#print(word)
#for w in word:
for w in word[:]:
    print(id(w))
    if len(w) > 6:
        word.insert(0, 'abcdefg')
#        word[:].insert(0, 'abcdefg')
print(id(word))
print(id(word[0]))
print(id(word[1]))
print(id(word[:]))
#print(word)

运行结果为:

2200539985928
2200540187144
2200540187144
2200530606992
2200540187200
2200539985928
2200540187200
2200540187144
2200539986184

      会发现 word[:] 其实是 word 的深拷贝,即 word[:] 和 word 是独立的两个列表变量,对 word 的增删改不会影响 word[:],对 word[:] 的增删改也不会影响到 word。

python 中,有这样一个情况:

a = [1, 2, 3]
b1 = a
b2 = a[:]

print(a)
print(id(a))
print(b1)
print(id(b1))
print(b2)
print(id(b2))

"""
运行结果:
[1, 2, 3]
2716794825544
[1, 2, 3]
2716794825544
[1, 2, 3]
2716794825608
"""

"""
b1是a的浅拷贝,即b1和a一样
b2是a的深拷贝,即b2和a不一样

b1和b2的内容和a都是一样的,
但是b1的内存地址和a一样,b2的内存地址和a是不一样的

此处的这个就像按引用传递(b1)和按值传递(b2)
"""

联系方式:
QQ:1583801169

相关文章

  • python中<list>和<list>

    运行结果为: 会发现 word[:] 其实是 word 的深拷贝,即 word[:] 和 word 是独立的两个列...

  • <scroller>和<list> 里面

    和 里面有 时,需要点击输入框,会将输入框上推至软键盘顶部,使用 时可以立马实现这个功能,但是 还没研究出如何实现。

  • 集合<List>基本使用

    常用方法 增加数据 1.add()2.add(index,objc)3.addAll()4.addAll(inde...

  • python替换转义字符

    python字符串处理有时候会出现< >&" 等转义字符HTML的< >...

  • Read a story

    This is a lion. lt's big. lt's strong. lt has big teeth. ...

  • 2018-06-08

    LT studio :不忘初心 ,方得始终 关于LT创办,LHS和TYY走过了九年。经历九年,LT终于共创业。九年...

  • Mybatis中特殊符号转移

    1. 写法1 原符号替换符号<<<=<=>>>=>=<><>&&'&a...

  • Read a story

    lt's hot?? lt's cool here. lt's a hat. What's this? Do yo...

  • 用python 服务器共享文件

    1。 python -m SimpleHTTPServer2。lt --port 8000 --subdomain...

  • test

    <script>alert(1);</script>

网友评论

    本文标题:python中<list>和<list>

    本文链接:https://www.haomeiwen.com/subject/bfkprqtx.html