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(深浅拷贝与集合)
拷贝 我们已经详细了解了变量赋值的过程.对于复杂的数据结构来说,赋值就等于完全共享了资源,一个值的改变会完全被另一个值共享. 然而有的时候,我们偏偏需要将一份数据的原始内容保留一份,再去处理数据,这个 ...
随机推荐
- 让Cocos2D-X的示例程序运行起来
没有整理好,现在先标记下 安装好环境后可能遇到的问题: 1.cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题 解 ...
- QT:用QSet储存自定义结构体的问题——QSet和STL的set是有本质区别的,QSet是基于哈希算法的,要求提供自定义==和qHash函数
前几天要用QSet作为储存一个自定义的结构体(就像下面这个程序一样),结果死活不成功... 后来还跑到论坛上问人了,丢脸丢大了... 事先说明:以下这个例子是错误的 #include <QtCo ...
- 【关于360极速浏览器的xx极速模式自动切换到兼容模式】
原理上是可以的. 1 360基于Chromium 开源浏览器内核,它本身就是一个壳子.. 2 7.0之后的极速浏览器,不支持 它官方的那个声明标记.<meta name=”renderer” ...
- 只有勇敢的人、鲁莽的人和绝望的人才会追求大的变革 – D.J. Anderson
只有勇敢的人.鲁莽的人和绝望的人才会追求大的变革 – D.J. Anderson http://www.cnblogs.com/lchrennew/p/Why-The-Future-Of-Agile- ...
- 2014第7周三初识CouchBase
今天主要还是完善需求,然后提交评审流程,尽可能不纠结一些细节问题后发现自己速度更快了,或许这才是最好的顺序,其它可能的问题就留在后续发现并解决吧.今天第一次听到并重视下couchbase.上午看到同事 ...
- 【Leetcode】二叉树层遍历算法
需求: 以层遍历一棵二叉树,二叉树的结点结构如下 struct tree_node{ struct tree_node *lc; struct tree_node *rc; int data; }; ...
- hdu 5500 Reorder the Books(规律)
题意: 有一个1→n的排列形成的数列,我们要用最少的操作次数把这个数列从小到大排序,每次操作都是把一个数放到整个数列的最前面. 思路: 首先最大的数n是不用操作的(其他数操作好了,n ...
- PHP 多input file文件上传
前台html jquery代码 后台PHP处理 前台html <form id="form" method="post" enctype="mu ...
- Java替代C语言的可能性
前不久CSDN刊登了一篇<C语言已经死了>的文章,引起了一些争论.事实上那篇文章是从Ed Burnette的博客上转载来的,原文题目是“Die, C, die!”,直译过来应该是& ...
- 修改ORACLE-NLS_DATE_FORMAT时间格式的四种方式
修改ORACLE-NLS_DATE_FORMAT时间格式的四种方式 改变ORACLE -NLS_DATE_FORMAT中时间显示格式的显示有以下方式: 1.可以在用户环境变量中指定(LINUX). 在 ...