一、字符串

字符串也可以用下标取值、切片、for循环、len()取长度以及 in 和 not in 来进行操作。

但字符串是不可变的,不能被更改。只能构造一个“新的”字符串来存取你想要修改后的数据。

二、元组

元组与列表几乎一样,但是元组输入时使用小括号并且元组和字符串一样,不可变。

如果元组中只有一个值,你可以在括号内该值的后面跟上一个逗号,表明这种情况。否则,Python将认为你只是在括号内输入了一个值。 #列表最后也可以是逗号

三、引用

列表赋给一个变量时,实际上是将列表的“引用”赋给了该变量。引用是一个值,指向某些数据(列表的实际位置)。

根据上图所示,按道理a的值不应被修改,但是列表赋给a的是列表的“引用”,a赋给b的也是列表的“引用”,a和b都指向同一个地方(列表的实际位置)。

如果你不希望修改b时a的值也变化那么你可以使用python的copy()模块。python提供了名为copy()的模块,其中包含copy()和deepcopy()函数。

而copy.copy()函数可以复制列表或字典这样的可变值,而不是复制其“引用”。

当你要复制的列表中包含了列表,那就使用copy.deepcopy()函数来代替。

如果只使用copy()来复制包含了列表的列表时,仅仅只将外面的大列表给复制了,但是里面小的列表还是“引用”,如:

使用deepcopy()便可以将所有的列表复制,如:

更深的列表嵌套也没问题:

python列表与字符串、元组的区别以及列表引用的方式的更多相关文章

  1. python数据类型:序列(字符串,元组,列表,字典)

    序列通常有2个特点: 1,可以根据索引取值 2,可以切片操作 字符串,元组,列表,字典,都可以看做是序列类型 我的操作环境:Ubuntu16.04+python2.7 一.字符串类型 >按索引获 ...

  2. Python: 对于DataFrame.loc传入列表和传入元组输出区别的理解

    def test(): import pandas as pd tuples = [ ('cobra', 'mark i'), ('cobra', 'mark ii'), ('sidewinder', ...

  3. python中的字符串常量,是否支持通过下标的方式赋值

    说明: 今天在看python,通过下标获取字符串常量的字符,在想是否可以通过下标的方式赋值. 操作: 1.对字符串下标赋值 >>> text='python' >>> ...

  4. Python基础教程学习笔记:第二章 列表和元组

    1.序列中元素的索引: 第一个元素索引是0,第二个是1,依次递增 最后一个元素索引是-1,倒数第二个是-2,依次递减 2.序列(Sequence)的种类: 列表(list).元组(tuple).字符串 ...

  5. 孤荷凌寒自学python第八天 初识Python的序列之元组

    孤荷凌寒自学python第八天 Python的序列之元组 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步音频笔记:https://www.ximalaya.com/keji/19103 ...

  6. Python数据类型详解——元组

    Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...

  7. Day2 Python基础学习——字符串、列表、元组、字典、集合

    Python中文学习大本营:http://www.pythondoc.com/ 一.字符串操作 一.用途:名字,性格,地址 name = 'wzs' #name = str('wzs')print(i ...

  8. Python之列表与元组的区别详解

    相同点:都是序列类型 回答它们的区别之前,先来说说两者有什么相同之处.list 与 tuple 都是序列类型的容器对象,可以存放任何类型的数据.支持切片.迭代等操作 foos = [0, 1, 2, ...

  9. Python之列表、字符串、元组和字典的基本用法

    1 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单 ...

随机推荐

  1. 如何复制word的图文到ueditor中自动上传?

    官网地址http://ueditor.baidu.com Git 地址 https://github.com/fex-team/ueditor 参考博客地址 http://blog.ncmem.com ...

  2. 「CF724G」Xor-matic Number of the Graph「线性基」

    题意 求所有点对\(u,v\),\(u\)到\(v\)所有不同的异或路径的异或值之和,对\(10^9+7\)取模 题解 求出一个dfs树,那么\(u\)到\(v\)的路径一定是树上路径异或一些环.这些 ...

  3. 【线性代数】3-2:零空间(Nullspace)

    title: [线性代数]3-2:零空间(Nullspace) categories: Mathematic Linear Algebra keywords: Nullspace Pivot Colu ...

  4. vue-element-admin平时使用归纳

    message提示的使用 import { Message } from 'element-ui'; Message({ message: res.data.message || 'Error', t ...

  5. BDD行为驱动简介及Pytest-bdd基础使用

    目录 BDD介绍 需求描述/用户场景 场景解析/实现 场景测试 Pytest-bdd的参数化 运行环境: pip insall pytest pytest-bdd pytest-selenium BD ...

  6. windows 安装python2.7

    下载:https://www.python.org/downloads/release/python-2716/ 安装即可. 设置环境变量 进入C:\Python27,修改python.exe 为py ...

  7. synchronized的对象锁和类锁

    概念 synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的. 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制, ...

  8. 实现多列等高布局_flex布局

    详情参见此篇博客 http://www.w3cplus.com/css/creaet-equal-height-columns 建议掌握方法四.五 其实,利用最新的flex布局 http://www. ...

  9. selenium的方法

    # Licensed to the Software Freedom Conservancy (SFC) under one # or more contributor license agreeme ...

  10. python 列表切片之负数的含义代码示例

    a = list(range(10)) print(a[::]) #复制一个列表 print(a[::2]) #每隔2个取一次 print(a[::3]) #每隔3个取一次 print(a[::-1] ...