zoukankan      html  css  js  c++  java
  • python中列表的赋值

    最近刚刚学习python语言,发现python中列表的赋值很像C++中数组的赋值方式,不过各方面都比C++方便很多啊。

     

    [python] view plaincopy
    1. c = [1,8,9,3,4]  
    2. d = c  
    3. print c[0]  
    4. print d[0]  
    5. print '========================='  
    6. d[0] = 100  
    7. print c[0]  
    8. print d[0]  

    输出结果:

    1
    1
    =========================
    100
    100

     

    这样的简单赋值 其实是将C和D指向同一个列表。很像C/C++真的数组指针赋值哈。

    1. int a[] = {1,3,7,8,6,4};  
    2. int b[6] = a;  
    3. cout << a[0] << endl;  
    4. cout << b[0] << endl;  
    5. cout << "======================================"<< endl;  
    6. b[0] = 100;  
    7. cout << a[0] << endl;  
    8. cout << b[0] << endl;  

    输出结果:

    1
    1
    =========================
    100
    100

     

    也许python列表赋值和C语言中的指针一样,指向同一个内存地址吧。

     

    但是python中可以用分片的方式。复制出一份新的列表的副本,而不是指向同一个列表

     

    [python] view plaincopy
    1. e = [1,8,9,3,4]  
    2. f = e[:]  
    3. print e[0]  
    4. print f[0]  
    5. print '========================='  
    6. f[0] = 100  
    7. print e[0]  
    8. print f[0]  

    输出结果:

    1
    1
    =========================
    1
    100

     

    可以看出,列表e和f完全是两个列表。

     

    列表中有很多操作,比如sort之类的,都是不返回新副本的。所以改变原来的列表,并不是我们希望的。

  • 相关阅读:
    with ,Row_Number,DateDiff,DateAdd用法学习
    jmeter 读取mysql数据库
    fidder 自动保存请求内容
    redis 常用方法整理
    解决:EXCEL复制粘贴,精度丢失
    MYSQL 创建常见问题
    MYSQL 存储过程、函数、临时表、游标
    MYSQL 测试常用语句使用技巧
    3-6
    selenium3 下载、配置
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786661.html
Copyright © 2011-2022 走看看