Python学习笔记3-Python元组、数组、字典集合的操作
在Python中数组中的每一项可以是不同的数据类型
元组:只能读不能写的数组
aTuple=(1,'abc','tmc',79.0,False)
print aTuple[1:3]
print type(aTuple) # tuple:元组
aTuple[1]=5 #在这,如果要对元组进行修改,就会报错:'tuple' object does not support item assignment
Tuple 没有的方法:
[1] 不能向 tuple 增加元素,没有 append 、 extend 、insert 等方法。
[2] 不能从 tuple 删除元素,没有 remove 或 pop 方法。
[3] 不能在 tuple 中查找元素,没有 index 方法(index是查找而不是索引,索引直接用下标即可,如:t[0])。
使用 tuple 的好处:
* Tuple 比 list 操作速度快。如果您定义了一个值的常量集, 并且唯一要用它做的是不断地遍历它, 请使用 tuple 代替 list。
* 如果对不需要修改的数据进行 “写保护”, 可以使代码更安全。
数组:Python中,所有的数组都使用[ ]
Python中,数组的使用
arr=[1,2,'jbc','tom',True,False,567.88]
print arr[0] # 1
print arr[:2] # [1, 2]
print arr[3:] # ['tom', True, False, 567.88]
print arr[-1] # 567.88
print arr[2:4] # ['jbc', 'tom']
arr[0]='a string'
print arr[0] # a string arr.append('吉米') #向数组中添加元素
arr.insert(1, 555) #在指定位置添加
arr.extend([998,'ttttt','tom',False]) #向数组中追加一个数组
print arr #在数组中搜索元素
print arr.index(998) #在数组中的位置
print ('ttttt' in arr) #是否存在数组中 #删除数组中的元素
arr.remove('tom') #移除首个存在的元素tom
#移除数组中所有存在的元素
while('tom' in arr):
arr.remove('tom')
print arr
print arr.pop() #移除数组中的最后一个元素,并返回被移除的元素
print arr # 循环输出
for x in arr:
print x #数组的运算
arr=[1,2]*3 # 等同于 arr = [1, 2] + [1, 2] + [1, 2] 结果:[1, 2, 1, 2, 1, 2]
print arr
arr=arr+['tom','jack'] # [1, 2, 1, 2, 1, 2, 'tom', 'jack']
print arr
arr+=[778,223] #[1, 2, 1, 2, 1, 2, 'tom', 'jack', 778, 223]
print arr
比较另类的情况
a = ("one","two")
print a[0] #one
b = ("just-one")
print b[0] #j 在元组中,如果只有一项,输出的话,Python将他视为一个字符串;(这个比较让人纠结)
c = "just-one",
print c[0] #just-one 在这,别看他只是一个字符串,但如果在字符串后面加一个,号那Python会视他为一个数组;(怎么会有这么奇怪的语法)
d = "just-one"
print d[0] #j
字典类型集合
dic={"name":"jack","age":18,"isMarry":False}
print dic #{'isMarry': False, 'age': 18, 'name': 'jack'}
print dic.keys() #['isMarry', 'age', 'name']
print dic.values() #[False, 18, 'jack']
print dic['name'] #jack
dic['age']=30
print dic['age'] #30 #循环输出字典的值和键
for key in dic:
print key,dic[key] for i,key in enumerate(dic): #enumerate函数用于遍历序列中的元素以及它们的下标 ,将字典分面(0,name),(1,isMarry)的索引与key是集合
print i,key,dic[key]
#删除键值对
del dic['isMarry']
dic.clear() # 清空词典所有条目
del dic # 删除词典
print dic
Python字典包含了以下内置函数:
1、cmp(dict1, dict2):比较两个字典元素。
2、len(dict):计算字典元素个数,即键的总数。
3、str(dict):输出字典可打印的字符串表示。
4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
Python字典包含了以下内置方法:
1、radiansdict.clear():删除字典内所有元素
2、radiansdict.copy():返回一个字典的浅复制
3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
7、radiansdict.keys():以列表返回一个字典所有的键
8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
10、radiansdict.values():以列表返回字典中的所有值
Python学习笔记3-Python元组、数组、字典集合的操作的更多相关文章
- Python学习笔记----列表、元组和字典的基础操作
文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...
- Python学习笔记---切片 列表 元祖 字典 集合
列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...
- Python学习笔记5-字符串、bool、数值操作和数组字典排序
1.字符串 # 字符串数字之间转换 # x = int("6") # print type(x) #<type 'str'> # y = str(6) # print ...
- python学习笔记(5)数据类型-字典
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: d ...
- python学习笔记-(五)字符串&字典
1.字符串操作 >>> name = ("my name is cc")#首字母大写 >>> print(name.capitalize()) ...
- python学习-1-列表,元组,字典,集合,文件操作
1. 列表.元组操作 names = ['Alex',"Tenglan",'Eric'] >>> names[0] >>> names[2] & ...
- python 学习笔记 9 -- Python强大的自省简析
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...
- python学习笔记(一):python简介和入门
最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...
- Python学习笔记整理总结【Django】:Model操作(一)
Model操作(一) 一.Django ORM基本配置 ORM:关系对象映射(Object Relational Mapping,简称ORM)db Frist:到目前为止,当我们的程序涉及到数据库相关 ...
- python 学习笔记5(深浅拷贝与集合)
拷贝 我们已经详细了解了变量赋值的过程.对于复杂的数据结构来说,赋值就等于完全共享了资源,一个值的改变会完全被另一个值共享. 然而有的时候,我们偏偏需要将一份数据的原始内容保留一份,再去处理数据,这个 ...
随机推荐
- C# 迪杰斯特拉(Dijkstra)算法
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止. 其基本思想是,设置顶点集合S并不断地作 ...
- LoadRunner 技巧之THML 与 URL两种录制模式分析
Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...
- grok 正则捕获(就是perl的正则捕获)
2.3.2 grok 正则捕获: \s+ 和 [\n\t\r\f]+ 一样 1.命名分组格式为(?<grp name>),反向引用时用\k<grp name> 2.命名分组的匹 ...
- sqlprofiler 常用调试方法
- Eclipse Velocity插件安装
打开eclipse安装velocity插件,这里有两种eclipse velocity的安装 方式一:不推荐的安装(安装会失败) Help>install new software>add ...
- hdu 1010 Tempter of the Bone(dfs暴力)
Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, ...
- hdu 1116 Play on Words(欧拉通路)
Problem Description Some of the secret doors contain a very interesting word puzzle. The team of arc ...
- Cocos2d-x优化中多线程并发訪问
多线程并发訪问在Cocos2d-x引擎中用的不是非常多,这主要是由于中整个结构设计没有採用多线程. 源自于Objective-C的Ref对象,须要使用AutoreleasePool进行内存管理,Aut ...
- 通过YAJL获取json中的值
这里主要是举例说明一下假设通过yajl获取json中的值. 对于array和object来说,获取的方式略有不同,详细能够參考以下的代码. 我仅仅是从网上搜集信息.知道有这么一种方法.假设还有别的方法 ...
- 泛泰A900 刷4.4专用中文TWRP2.7.1.1版 支持自己主动识别手机版本号(全球首创)
因本人手上的A900S已砖, 所以临时弄不了ROM了, 先上传之前已经弄好的刷4.4专用的新版TWRP recovery 2.7.1.1 这个版本号是我自己定义的,为差别之前公布的2.7.0.0版( ...