python之 list、tuple、dict、set
2016-08-24 14:32:59
list
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
例如:定义一个列表L,里面存放了一些姓氏。print(l)就输入了整个列表。
>>> l = ['赵','钱','孙','李']
>>> print (l) ['赵', '钱', '孙', '李']
对列表的操作一般为:增、删、改、查。
查:
用下标取列表中的值,第一个元素的下标为0。
l = ['zhao','qian','sun','li','zhou','wu','zheng','wang'] # 查
print(l)
['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
print(l[1])
qian
print(l[-1])
qian
print(l[1:])
['qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
print(l[1:5])
['qian', 'sun', 'li', 'zhou']
print(l[5:1:-1]) #从下标为5的元素开始,-1:就是倒着往前步长为1 取元素,取到下标为1的位置停止。
['wu', 'zhou', 'li', 'sun', 'qian']
增:
增加一个元素
l = ['zhao','qian','sun','li','zhou']
#append, 在列表末尾追加
print(l)
['zhao', 'qian', 'sun', 'li', 'zhou']
l.append("zhou")
print(l)
['zhao', 'qian', 'sun', 'li', 'zhou', 'zhou'] #insert,根据索引插入任何想插入的位置
l.insert(1,'wang')
print(l)
['zhao', 'wang', 'qian', 'sun', 'li', 'zhou', 'zhou']
改:
修改列表内的元素。
#修改
l = ['zhao','qian','sun','li','zhou']
print(l)
['zhao', 'qian', 'sun', 'li', 'zhou'] l[1] = 'lao wang'
print(l)
['zhao', 'lao wang', 'sun', 'li', 'zhou'] #批量插入
l[2:4] = ['a','b','c']
print(l)
['zhao', 'lao wang', 'a', 'b', 'c', 'zhou']
删:
#删
l = ['zhao','qian','sun','li','zhou']
print(l)
l.pop(2) #通过下标删除内容
print(l)
l.pop() #pop括号内不加参数,默认删除最后一个元素
print(l)
del l[1] #删除索引指的元素
print(l)
del l
print(l)
********************
['zhao', 'qian', 'sun', 'li', 'zhou']
['zhao', 'qian', 'li', 'zhou']
['zhao', 'qian', 'li']
['zhao', 'li'] print(l)
NameError: name 'l' is not defined #因为del l ,把整个l 列表删除了,所以print的时候报错了
排序:
#排序
l = ['zhao','qian','sun','li','zhou','wang']
print(l)
l.sort() #默认从小到大排序,因为reverse的默认值是False
print(l)
l.sort(reverse=True) #sort括号里加reverse=True从大到小排序
print(l)
l.reverse() #反转顺序
print(l)
l.reverse()
print(l)
******************
['zhao', 'qian', 'sun', 'li', 'zhou', 'wang']
['li', 'qian', 'sun', 'wang', 'zhao', 'zhou']
['zhou', 'zhao', 'wang', 'sun', 'qian', 'li']
['li', 'qian', 'sun', 'wang', 'zhao', 'zhou']
['zhou', 'zhao', 'wang', 'sun', 'qian', 'li']
身份判断
#身份判断
a = ['zhao','qian','sun','li','zhou','wang']
print(type(a) is list)
print(type(a) is str) *************************
True
False
tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。
t = ('zhao','qian','sun','li','zhou','wang')
print(t)
print(t[1])
*************************
('zhao', 'qian', 'sun', 'li', 'zhou', 'wang')
qian
dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。用dict可以装下整个世界,你信吗?
#定义一个字典,存入一些用户信息
dic = {"name":"ligq","age":23,'job':'IT'}
print(dic) #输出整个字典
#遍历dic字典中的所有 键
for i in dic:
print(i,end=' ')
print()
#遍历dic字典中的所有 值
for i in dic:
print(dic.get(i),end=' ') #用dict的 get(键)方法,取字典这对应的 值
print()
#遍历dic字典中的所有 键和值 ---推荐使用
for i in dic:
print(i,dic[i],end=' ')
print()
#使用字典的items方法,遍历dic字典中的所有 键和值
for i,v in dic.items():
print(i,v,end=' ')
print()
dic1 = {1:23423,8:32,2:23,5:42}
print(dic1)
print(dic1.values()) #获取值
print(dic1.items()) #获取键-值对
print(dic1.keys()) #获取键 print(dic1.pop(1)) #删除键是1的键值对,并返回删除的值
print(dic1) *******************************
{'age': 23, 'job': 'IT', 'name': 'ligq'}
age job name
23 IT ligq
age 23 job IT name ligq
age 23 job IT name ligq
{8: 32, 1: 23423, 2: 23, 5: 42}
dict_values([32, 23423, 23, 42])
dict_items([(8, 32), (1, 23423), (2, 23), (5, 42)])
dict_keys([8, 1, 2, 5])
23423
{8: 32, 2: 23, 5: 42}
python之 list、tuple、dict、set的更多相关文章
- Python中list,tuple,dict,set的区别和用法
Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...
- Python中list,tuple,dict,set的区别和用法(转)
原文地址:http://www.cnblogs.com/soaringEveryday/p/5044007.html Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个 ...
- Python容器--list, tuple, dict, set
## Python 中有四种用于存放数据的序列--list, tuple, dict, set ## list 列表 - 可以存放任意类型数据的有序序列 - 列表可以由零个或多个元素组成,元素之间用逗 ...
- python list 和 tuple, dict 用于迭代代价
#!/usr/bin/env python #-*- coding:utf-8 -*- import time start = time.time() for i in range(1000000): ...
- python中list/tuple/dict/set的区别
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表list和元组t ...
- python 之 list,tuple,dict,set
基本类型, 其中set好像提到的很少 list : [] 根据字面, 是一个列表, 所以有序, 可以通过序号方位 tuple: () 是不变的list, 通过序号访问 dict: {}, 字 ...
- python中list,tuple,dict,set等深浅拷贝的问题记录
对于字典.元祖.列表 而言,进行赋值.浅拷贝和深拷贝时,其内存地址的变化是不同的. 1.赋值 赋值,只是创建一个变量,该变量指向原来内存地址,如: 1 2 3 n1 = {"k1" ...
- list,tuple,dict,set常用方法
Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...
- Python中内置数据类型list,tuple,dict,set的区别和用法
Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...
- python学习中,list/tuple/dict格式化遇到的问题
昨天上了python培训的第一课,学习了基础知识.包括类型和赋值,函数type(),dir(),id(),help()的使用,list/tuple/dict的定义以及内置函数的操作,函数的定义,控制语 ...
随机推荐
- EF文章连接
http://www.cnblogs.com/shanyou/archive/2011/07/17/2108953.html http://www.cnblogs.com/haogj/archive/ ...
- 大冰--寻人启事--one
看得懂的,都不是命运,说得清的,都不叫爱情. 忘得了的,都不是遗憾,听得见的,都不是伤心. 躲的开的,都不是缘分,猜得透的,都不叫人生.
- KETTLE实现数据的删除和更新
一.实现目标 源数据库的数据更新或者删除之后,目标数据库的数据跟着更新或删除,整体流程截图如下: 一.准备工作 源数据库ORACLE 目标数据库MongoDB,在源数据库添加删除.更新触发器 二.操 ...
- 将对象的所有属性名放到一个数组中 || 获得对象的所有属性名 || return;不具有原子性 || 怎样自己制作异常|| 判断对象有没有某个属性 || 当传递的参数比需要的参数少的时候,没有的值会被赋予undefined || 获得函数实际传递的参数 || 怎么用函数处理一个对象 || 用一个名字空间定义一个模块所有的函数 || 给一个对象添加方法
获得对象的所有属性名 || 将对象o的所有属性名放到数组中 var o = {x:1,y:2,z:3}; var arr = []; var i = 0; for(arr[i++] in o){};/ ...
- ActiveMQ安装
安装环境: 逛网下载最新安装包,ubuntu下解压sudo tar -zxvf xx.tar.启动activeMQ. 报错如下: 原因是没有找到java命令位置,编辑启动配置文件: 再次启动,完成后进 ...
- java jvm常用命令工具
[尊重原创文章出自:http://www.chepoo.com/java-jvm-command-tools.html] 一.概述 程序运行中经常会遇到各种问题,定位问题时通常需要综合各种信息,如系统 ...
- 【转载-pdcxs007】 Windows7配置CTex+Texmaker
!! 安装CTex会覆盖系统原来的环境变量里面的系统路径!! 坑人! Windows7配置CTex+Texmaker CTex和Texmaker的下载方法就不必细谈了,在官方网站上有.主要是CTex建 ...
- css3 text-overflow属性
页面: <ul> <li>· 测试测试测试测试测试测试</li> <li>· 测试测试测试测试测试测试</li> <li>· 测 ...
- Spark的数据存储
Spark本身是基于内存计算的架构,数据的存储也主要分为内存和磁盘两个路径.Spark本身则根据存储位置.是否可序列化和副本数目这几个要素将数据存储分为多种存储级别.此外还可选择使用Tachyon来管 ...
- Java程序员必须知道的10个调试技巧
调试可以帮助识别和解决应用程序缺陷,在本文中,将使用大家常用的的开发工具Eclipse来调试Java应用程序. 但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运 ...