list、tuple、dict、set、map
list
Python内置的一种数据类型是列表。
list是一种有序的集合,可以随时添加和删除其中的元素。
# 创建list
classmate = ['micheal', 'Bob', 'Tracy']
#打印长度
len(classmate)
#访问其中的元素
classmate[0]
classmate[-1]
# 向指定位置插入元素
classmate.insert(1, 'Jack')
#删除list尾部的元素
classmate.pop()
#删除list指定位置的元素
classmate.pop(1)
#list中的元素的类型可以不同
L = ['Apple', 123, True]
#list中可以有另一个list
s = ['python', 'java', ['asp', 'php'], 'scheme']
#或者
p = ['asp', 'php']
s = ['python', 'java', p, 'scheme']
tuple
另一种有序列表叫元组:tuple。
tuple一旦初始化就不能再修改
因为tuple不可变,所以代码更安全,没有append、insert这样恩方法。
元素获取的方法和list相同。
如果可能,能用tuple的地方尽量不实用list。
#定义tuple
t = (1, 2)
#定义空tuple
t = ()
#只有一个元素的tuple,必须加 ,!!!!
t = (1, )
#可变的tuple
t = ('a', 'b', ['A', 'B'])
t[2][0]='X'
t[2][1]='Y'
dict
dict:字典,全程dictionary,其他语言中也叫做map。
存储方式为:key-value,键值对的方式。
key不允许重复,否则,后定义的值会覆盖前面定义的值
# 定义一个dict
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
# 添加元素
d['Adam'] = 67
# 判断key是否存在
'Tomas' in d
# 如果不存在,则返回null
d.get('Thomas')
# 如果不存在,则返回-1
d.get('Thomas', -1)
# 删除一个元素
d.pop('Micheal')
和list相比,1)dict查找和插入速度很快,不会随着key的增加而增加。2)需要占用大量的内存。
这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
set
不能重复的list。
创建一个set,需要一个list作为输入集合。
# 创建一个set
s = set([1, 1, 2, 2, 3, 3])
# 添加元素
s.add(key)
# 删除元素
s.remove(key)
# set可以看成是集合
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
# 集合的交集
s1 & s2
# 集合的并集
s1 | s2
不可变对象
- 对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
list、tuple、dict、set、map的更多相关文章
- python里面的list、tuple和dict的区别
Dictionary .Dictionary是Python中内置的数据类型之一,他定义了键和值之间一对一的关系. 每一个元素都有一个key-value对,整个元素集合用大括号{}括起来. 你可以通过k ...
- Python全栈开发:list 、tuple以及dict的总结
总结: 列表:增:append(),inset(),extend() 删:pop(),remove(),clear(),del 改:a.通过指定元素和切片重新赋值.b.可以使用repelace替换列表 ...
- List、Tuple、Set、Dictionary数据类型
一.List数据类型 1.概述:list(列表)中可以包含多个元素,且元素类型可以不相同. 每一元素可以是任意数据类型,包括列表(即列表嵌套)及后面要介绍的元组.集合.字典. 所有元素都写在一对方括号 ...
- args 、kwargs不定参数通过列表、元组、字典传递
*args .**kwargs是不定参数的表达方法,一般用于函数形参.*args .**kwargs 作为传递参数的函数,在使用过程中,可对*args .**kwargs多个输入,但是效率或者比较麻烦 ...
- Python3 与 C# 基础语法对比(List、Tuple、Dict、Set专栏)
Code:https://github.com/lotapp/BaseCode 多图旧版:https://www.cnblogs.com/dunitian/p/9156097.html 在线预览: ...
- Python3 与 NetCore 基础语法对比(List、Tuple、Dict、Set专栏)
Jupyter最新版:https://www.cnblogs.com/dotnetcrazy/p/9155310.html 在线演示:http://nbviewer.jupyter.org/githu ...
- list、tuple、dict内部功能释义
一.list内部功能释义 运用频次:☆☆☆☆☆ 1. append():列表末尾插入元素 [示例] >>> L1=[11,22,33] >>> L1.append( ...
- Python之list、tuple、dict、set
参考原文 廖雪峰Python PS:来看看Python中比较特殊的几种数据类型list.tuple.dict.set list list(列表)是Python内置的一种数据类型,它是一种有序.可变的集 ...
- Python--对list、tuple、dict的操作
一.List(列表) 首先,创建一个简单的list: animal = ['cat','dog','lion','tiger'] (1) 用索引的方式访问list中的元素:animal[0] 当索引从 ...
- Python 学习随笔 - 2 - list 、tuple 、dict、set 特殊数据类型 及 实际应用
1.list list是一种有序的集合,可以随时添加和删除其中的元素; 和C语言不同的地方是list里的元素甚至可以是不同类型的,甚至是另个list 例如:['A', 'B', 'C'] ['A ...
随机推荐
- centos杀死进程命令
比如 先查看 httpd 进程 ps aux |grep httpd [root@moyea309 init.d]# ps aux |grep httpdroot 2091 0.0 0. ...
- C++:析构函数
析构函数的特点: 1.析构函数与类名相同,但它前面必须加上波浪号~ 2.析构函数不返回任何值,在定义析构函数时,是不能说明它的类型的,甚至说明void类型也不能 3.析构函数没有参数,因此不能被重载. ...
- C++:类的成员函数定义方式
1.成员函数的第一种定义方式:在类声明中只给出成员函数的原型,而将成员函数的定义 放在类的外部. 返回值类型 类名::成员函数名(参数表) { 函数体 } class Point{ pub ...
- poj 1845 Sumdiv (数论)
题目链接 题意:求 A^B的所有约数之和对9901取模后的结果. 分析: 看了小优的博客写的. 分析来自 http://blog.csdn.net/lyy289065406/article/detai ...
- ViewPager介绍和使用说明
1 ViewPager实现的功能 和实际运行的效果图示意 ViewPager类提供了多界面切换的新效果.新效果有如下特征: [1] 当前显示一组界面中的其中一个界面. [2] 当用户通过左右滑动界 ...
- ASP.NET中MEMCACHED
一,准备 你需要有一下软件: VS.NET(05/08) SQLSERVER memcached服务器端以及客户端类库(开源软件,下载即可)其中,客户 ...
- Java [Leetcode 231]Power of Two
题目描述: Given an integer, write a function to determine if it is a power of two. 解题思路: 判断方法主要依据2的N次幂的特 ...
- zoj 2027 Travelling Fee
// 题意 : 一个人要去旅行 给你起点和终点 求最少花费 其中花费为经过路径的总费用减去该路径的中的最大花费段// 直接搜索 稍微加了个剪枝 主要是数据规模小#include <iostrea ...
- ORACLE之手动注册监听listener。alter system set local_listener="XXX"
记录下刚刚做的一个为一个数据库(t02)配置多个监听(listener)的实验,过程有点小曲折. (1)新增两个测试的监听,listener.ora的配置内容(可纯手动编辑该文件或使用netca)如下 ...
- 屏蔽页面js报的错误
有时候,某些js的错误,确实没有什么大影响,但是这个又实在没办法. 一般,下下策采取 <script language="javascript"> function k ...