list和tuple

在python中分为可变表和不可变表:

类型 名称 表示方法
可变 list []
不可变 tuple ()

list

  • list是可变表,list内部索引从0开始,正整数是正序的索引,负整数是 反向索引,例如list[-1]和list[-2]分别表示最后一个和倒数第二个元素
  • list索引越界会报错“list index out of range”
  • list支持二维和多维,元素可以是list或tuple
  • list的方法
序号 方法 作用
1 append() 末尾追加
2 insert(index, context) 指定位置插入
3 pop(index) 删除指定位置元素,如果index为空表示删除末尾元素
4 list[i] = context 替换指定位置的元素内容
l1 = [1, 2, 'a']
print(l1)
l1.append('b')
print(l1)
l1.pop()
print(l1)
l1.insert(1, 'c')

tuple

tuple是有序表,也就是内容是不可变的,编程中尽量以tuple代替list

  • 定义一个空的tuple是直接复制空:
t = ();
  • 定义只有一个元素的tuple不能将1写入括号中,要用逗号区分:
t = (1,);

注意如果tuple中间包含的是list,那么改变list的内容是合法的


dict

*dict也就是dictionary,是python中的map,底层也是hash算法来实现。采用空间换时间

d = {'name1':'zhangsang', 1:100}
print(d['name1'])
print(d[1]) if 'name1' in d:
print(d['name1']) print('Reset name1:lisi')
d['name1'] = 'lisi'
print(d['name1']) print('get name1 from d:')
d.get('name1') print('pop name1')
d.pop('name1')
print(d)
#d.get('name1', -1)
#print(d['name1'])

从代码中可以看出来:

  • dict以key和value配对出现
  • dict的key是否存在可以用in来判断,或者使用get方法。并且get方法如果没有默认返回None或是自己指定的值
  • dict使用pop来移除元素
  • dict的key的选取要使用不可变元素:整数和字符串等

set

set也是不可变的,其中只存放key

s = set([1, 2, 3])
print('s is a set:', s) print('add 1 twice:')
s.add(1)
s.add(1)
print('new s is a set:', s) s1 = set(['a', 'b'])
print(s1)
print('s | s1')
print(s | s1) print('remove "'"a"'" from s1')
s1.remove('a')
print(s1)

从代码中看:

  • 赋值的方法要注意有set关键字
  • list是set的输入集合
  • set不支持重复元素
  • set可以使用交集和并集来处理元素

python的可变list和不可变tuple, dict和set的更多相关文章

  1. 六、python沉淀之路--int str list tuple dict 重点总结

    一.数字int(..)二.字符串replace/find/join/strip/startswith/split/upper/lower/formattempalte = "i am {na ...

  2. Python(可变/不可变类型,list,tuple,dict,set)

    补充:(可用操作技巧) >>> x=900 >>> y=900 >>> x==y True >>> type(x) is typ ...

  3. Python基础(list和tuple)可变集合和‘不可变’集合

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  4. 【Python】可变对象和不可变对象

    Python在heap中分配的对象分成两类:可变对象和不可变对象.所谓可变对象是指,对象的内容是可变的,例如list.而不可变的对象则相反,表示其内容不可变. 不可变对象:int,string,flo ...

  5. Python 可变对象和不可变对象

    具体可以看这里:http://thomaschen2011.iteye.com/blog/1441254 不可变对象:int,string,float,tuple 可变对象   :list,dicti ...

  6. Python中的可变对象和不可变对象

    Python中的可变对象和不可变对象 什么是可变/不可变对象 不可变对象,该对象所指向的内存中的值不能被改变.当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一 ...

  7. python,可变对象,不可变对象,深拷贝,浅拷贝。

    学习整理,若有问题,欢迎指正. python 可变对象,不可变对象 可变对象 该对象所指定的内存地址上面的值可以被改变,变量被改变后,其所指向的内存地址上面的值,直接被改变,没有发生复制行为,也没有发 ...

  8. python 中的可变对象与不可变对象

    近日辞职待工,没有实际的项目与大家分享.暂写写在实际运用python中遇到的关于可变对象和不可变对象的坑. 首先我们需要明确一个概念,在python中一且皆对象.我们一般定义一个变量a=0,其实质a是 ...

  9. Python入门之python可变对象与不可变对象

    本文分为如下几个部分 概念 地址问题 作为函数参数 可变参数在类中使用 函数默认参数 类的实现上的差异 概念 可变对象与不可变对象的区别在于对象本身是否可变. python内置的一些类型中 可变对象: ...

随机推荐

  1. POJ2127 LICS模板

    题目:http://poj.org/problem?id=2127 十分费劲地终于记录好了路径……用一个前驱. 这是 n^2 的LICS方法.其实就是 n ^ 2 log n 把“找之前的d [ j ...

  2. Angular 4 表单校验2

    1. 将表单的方法移动到单独的ts文件夹中 2. code export function mobileValidator(control: FormControl): any { const myr ...

  3. Scrapy下xpath基本的使用方法

    Scrapy是基于python的开源爬虫框架,使用起来也比较方便.具体的官网档:http://doc.scrapy.org/en/latest/ 之前以为了解python就可以直接爬网站了,原来还要了 ...

  4. oracle锁表查询

    ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 复制代码代码如下: --锁表查 ...

  5. php文章付费阅读系统球料付费阅读系统

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

  6. 一张图测试你的Hadoop能力-Hadoop能力测试图谱

    1.引言 看到一张图,关于Hadoop技术框架的图,基本上涉及到Hadoop当前应用的主要领域,感觉可以作为测试Hadoop开发人员当前能力和水平的比较好的一个工具,特此分享给大家.如果你能够明白说出 ...

  7. ALGO-3_蓝桥杯_算法训练_K好数(DP)

    问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = ,L = 2的时候,所有K好数为11...... 共7个 ...

  8. Java-Runoob-高级教程-实例-数组:05. Java 实例 – 数组输出

    ylbtech-Java-Runoob-高级教程-实例-数组:05. Java 实例 – 数组输出 1.返回顶部 1. Java 实例 - 数组输出  Java 实例 以下实例演示了如何通过循环输出数 ...

  9. 【转载】CSS + DIV 实现局部布局

    HTML CSS + DIV实现局部布局 1.本章教大家掌握2种布局方式: 1)顶部导航菜单布局,效果图: 2)购物版块布局,效果图: 2.技术目标:使用div + ul-li实现导航菜单布局    ...

  10. 接口测试3-2csv格式

    csv文件数据 IntellJ IDEA打开终端:view-tool windows-terminal,可以在终端中查看文件路径 阿里 马云 京东 刘强东 京东 马化腾 #java //读取csv文件 ...