附件:

02.07 Python 可变和不可变类型.html

284.9K ·

百度网盘

正文:

可变和不可变类型

列表是可变的(Mutable)¶

In [1]:

a = [1,2,3,4] a

Out[1]:

[1, 2, 3, 4]

通过索引改变:

In [2]:

a[0] = 100 a

Out[2]:

[100, 2, 3, 4]

通过方法改变:

In [3]:

a.insert(3, 200) a

Out[3]:

[100, 2, 3, 200, 4]

In [4]:

a.sort() a

Out[4]:

[2, 3, 4, 100, 200]

字符串是不可变的(Immutable)

In [5]:

s = "hello world" s

Out[5]:

'hello world'

通过索引改变会报错:

In [6]:

s[0] = 'z'

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) in ----> 1 s[0] = 'z' TypeError: 'str' object does not support item assignment

字符串方法只是返回一个新字符串,并不改变原来的值:

In [8]:

print (s.replace('world', 'Mars')) print (s)

hello Mars hello world

如果想改变字符串的值,可以用重新赋值的方法:

In [9]:

s = "hello world" s = s.replace('world', 'Mars') print (s)

hello Mars

数据类型分类:可变数据类型不可变数据类型

字符串不可变的原因

其一,列表可以通过以下的方法改变,而字符串不支持这样的变化。

In [15]:

a = [1, 2, 3, 4] b = a

此时, a 和 b 指向同一块区域,改变 b 的值, a 也会同时改变:

In [16]:

b[0] = 100 a

Out[16]:

[100, 2, 3, 4]

其二,是字符串与整数浮点数一样被认为是基本类型,而基本类型在Python中是不可变的。

python列表可变吗_Python 可变和不可变类型相关推荐

  1. python中元组的值可变吗_python中对象的可变与不可变

    在python中一切皆对象,对象是对数据的抽象. 所有对象有三个要素:类型.标识.值.类型决定对象可以支持哪些操作:标识指的是对象的内存地址,每个对象有唯一的地址,通过id内建函数可以求出地址:值从字 ...

  2. python列表去括号_python 去括号

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 遍历字符串,将属于开括号集合的括号加入到列表中,当遇上一个闭括号的时候计算该闭括 ...

  3. python列表比较方法_python列表常用方法

    list是一个类,用中括号括上,逗号分隔,元素可以是数字,字符,字符串,也可以是嵌套列表,布尔类型. 1.通过索引取值 li=[1,12,9,'age',['wangtianning',[19,'10 ...

  4. python列表反向排序_Python 列表排序方法reverse、sort、sorted详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  5. python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  6. python列表怎么创建_python怎么创建列表

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  7. python列表生成字典_Python 列表生成式 字典生成式

    Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...

  8. python列表浅复制_Python列表的深复制和浅复制示例详解

    一.深复制与浅复制 列表是Python中自带的一种数据结构,在使用列表时,拷贝操作不可避免,下面简单讨论一下列表的深复制(拷贝)与浅复制 首先看代码: l1 = [5, 4, 3, 2, 1] # 用 ...

  9. python列表切片图解_Python列表切片操作实例总结

    本文实例讲述了Python列表切片操作.分享给大家供大家参考,具体如下: 切片指的是列表的一部分. 1 基本用法 指定第一个元素和最后一个元素的索引,即可创建切片 .Python 会在到达指定的第二个 ...

  10. python列表存储乱码_python 列表中文乱码

    今天在学习python列表的时候遇到中文乱码问题,如下: # -*- coding: UTF-8 -*- print "列表" list1 = ['张三',"李四&quo ...

最新文章

  1. python自动生成测试报告步骤_生成HTMLTestRunner测试报告的操作步骤——Python+selenium自动化...
  2. [Unity3D]关于NaN(Not a Number)的问题
  3. 博客园——记录我的开始
  4. Kinect开发笔记之一Kinect详细介绍
  5. react.js基础
  6. java控制单元测试_java – 当单元测试控制器时,模拟一个Spring Validator
  7. 作者:顾佳峰(1975-),男,博士,北京大学中国社会科学调查中心研究发展部主任,北京大学创新研究院副院长。...
  8. Java Spring-注解进行属性注入
  9. 山东科技大学计算机网络_山东科技大学计算机网络共20讲视频
  10. 一张图看懂BGP邻居关系建立过程和BGP报文简介
  11. windows安装MobaXterm
  12. 开源网管工具 Cacti,Nagios,Zabbix 比较
  13. php邮箱必填,discuz关闭邮箱注册必填选项
  14. mysql减五元,[MySQL]處理字元編碼的一些心得
  15. 魔兽在副本里服务器维护了,魔兽世界11月19日维护服务器状态查询地址 6.2.3补丁上线更新一览...
  16. Primeng中一些组件的格式调整以及css设置
  17. 文献笔记:Contrast-Phys: Unsupervised Video-based Remote Physiological Measurement viaSpatiotemporal Con
  18. 智商黑洞(门萨Mensa测试)6
  19. 网站制作笔记-bootstrap可视化布局,表单生成工具,快速制作网页原型
  20. 跟域名 顶级域名 层级说明

热门文章

  1. 什么蓝牙耳机听歌音质好?盘点音质最好的蓝牙耳机
  2. SQL事务回滚的两种方式
  3. 电路理论——节点电压分析法
  4. 用户与实体行为分析在实时网络攻击检测中的角色
  5. SVN: File ‘xxxx‘ is locked in another working copy解决办法
  6. 程序员版《伤心太平洋》,祝大家在1024程序员节笑口常开!
  7. 书单 | 数字化转型的50本书
  8. LOL英雄战力效果【五星战力分析】5星
  9. tf.keras.activations.gelu tensorflow1.15.0
  10. 高二计算机考试操作题在线,高二会考 计算机 操作题