python内置类型:列表,包括 list 和 tuple
列表list
是一种有序的集合 ,假定list的名字为class
list的元素个数:len( class)
访问元素:
a. 索引从0开始 b. 也可以使用[-1],[-2],[-3] 从后面访问元素
添加元素
a. append方法 , 该方法是默认添加元素到末尾 class.append('adam')
b. insert方法, 该方法能把元素添加到指定的索引位置 class.insert (1,'lily')
删除元素
pop方法
pop( ):括号内为空时,默认删除末尾的元素
pop( i ):这种是通过索引号 i 来删除指定位置的元素
替换元素
list表名[索引号]=新元素
下图是列表List的定义、各种方法的示例:


元组tuple
是一种有序列表
tuple和list 非常相似,但tuple一旦初始化就不能修改

现在,classmates就不能修改了,它没有append( ), insert( ),pop( )这样的添加、删除元素的方法。
访问元素
和list一样 , classmates[0], classmates[1], classmates[-1]
不可变的tuple有什么意义?
因为tuple不可变,所以代码更安全,如果可能,能用tuple代替list ,就尽量用tuple。
如果tuple只有一个元素时:

按上图中定义时,定义的不是元组tuple,是1这个数,因为()既可以表示tuple, 也可以表示数学公式中的小括号,这就产生了歧义。
因此,python规定,这种情况下,表示数学意义上的小括号,计算结果是1.
所以只有一个元素时,必须添加一个逗号, 来消除歧义

python 在显示只有一个元素的tuple时,也会加一个逗号, , 以免使用者理解成数学意义上的括号。
tuple中所谓的“不变”是说,tuple的每个元素,指向永远不变,即指向元素'a', 就不能指向元素'b', 指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的。
下图是元组tuple的示例:

list 和 tuple 的区别:
(1)定义上的区别:list使用中括号,tuple使用小括号
(2)元素上的区别:list是可变的,tuple是不可变的
共同点:
访问元素时,都是列表名[ ]形式,是中括号,不是小括号。
python内置类型:列表,包括 list 和 tuple的更多相关文章
- Python 内置类型 dict, list,线程安全吗
近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...
- Python——内置类型
Python定义了丰富的数据类型,包括: 数值型:int, float, complex 序列:(iterable) str, unicode, tuple, list, bytearray, buf ...
- 为什么继承 Python 内置类型会出问题?!
本文出自"Python为什么"系列,请查看全部文章 不久前,Python猫 给大家推荐了一本书<流畅的Python>(点击可跳转阅读),那篇文章有比较多的"溢 ...
- Python内置类型性能分析
Python内置类型性能分析 timeit模块 timeit模块可以用来测试一小段Python代码的执行速度. class timeit.Timer(stmt='pass', setup='pass' ...
- 3、python内置类型(0529)
python的内置对象类型以及支持的运算 python对象的相关术语 python程序中保存的所有数据都是围绕对象这个概念展开的 程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 ...
- python内置类型详细解释
文章编写借鉴于内置类型 - Python 3.7.3 文档,主要用于自己学习和记录 python主要内置类型包括数字.序列.映射.类.实例和异常 有些多项集类是可变的.它们用于添加.移除或重排其成员的 ...
- 易被忽略的Python内置类型
Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们. 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些"不同寻常&quo ...
- Python内置类型——set
Python中,内置类型set和frozenset用来表示集合,我们首先查看这两个类型支持的特殊对象,从而可以理解他们的特性. >>> dir(set) ['__and__', '_ ...
- Python内置类型——list
list(列表)是Python内置的可变序列(Sequence)类型,list的对象的方法也都是就地(in-place)更改调用这些方法的列表对象, List的一些细节 可以直接为list的某个下标赋 ...
随机推荐
- C++11 使用异步编程std::async和std::future
先说明一点:std::asyanc是std::future的高级封装, 一般我们不会直接使用std::futrue,而是使用对std::future的高级封装std::async. 下面分别说一下. ...
- [LeetCode] 系统刷题3_Binary search
可以参考 [LeetCode] questions conclusion_ Binary Search
- 蓝桥杯近三年初赛题之二(16年b组)
1. 煤球数目 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球? 请填 ...
- netframework webapi exceptionless
1.webapi项目 添加nuget exceptionless webapi 2.在exceptionless server端添加项目,注意key 3.修改api项目的webconfig &l ...
- JS数据类型及函数的预编译
1.JS总体上分为:原始值和引用值 原始值分为:Number.Boolean.String.undefined.null;原始值不可改变的值,存储在栈[stack]的,先进后出! 引用值:array. ...
- sitecore开发入门Sitecore的CRUD操作 - 第一部分
在本文中,讨论如何使用Sitecore.Data.Items.Item并对这些项执行CRUD(创建,读取,更新和删除)操作.我还将介绍如何使用Glass和Fortis类库进行相同的操作,这些操作都是对 ...
- 【转】Sqlserver将数据从一个表插入到另一个表
-- 复制表结构CREATE TABLE empty_table_name LIKE table_name; --根据table_name创建一个空表empty_table_name,empty_ta ...
- 必须添加对程序集"System.Core"的引用
在项目下的web.config中添加 <compilation debug="true" targetFramework="4.0"> <as ...
- U-boot2010.06移植--阶段一
2011-02-24 23:14:57 我今天的移植将分如下3步.加上写记录文档,预计时间3小时. 一,不改变源码,完成编译. 二,修改源码,搭建一个U-boot的框架,完成编译. 三,修改源码,完成 ...
- 怎么让table中的<td>内容向上对齐
<td valign="top"></td>