python之数据类型(二)
2016-06-18 21:18
302 查看
python数据类型之列表
列表是以方括号“[]”保卫的数据集合,不同成员以“,”分割。列表中可以包含任意数据类型,也可以包含其他列表,列表可以通过序号访问其中成员。在脚本中可以对列表进行排序、添加、删除等操作,可以改变列表中任意成员的值
列表列表中每一个值 叫元素 元素可有 字符串、数字、变量,取值以name[0] 0是列表的下标
常用的列表操作
索引取值
python数据类型:元祖
元祖相当于只读列表,生成之后无法修改,语法是(x,y)元祖的操作只有两个一个是统计元素个数 一个是查看索引
python数据类型:字典 dic
字典是python中比较特殊的一类数据类型,是以大括号包围{} 的数据集合。字典与列表的最大不同在于字典是无序的,在字典中通过键来访问成员。
通常字典的操作
python数据类型:文件文件也可以看做是python中的数据类型,当使用python的内置函数open打开一个文件后返回一个文件对象
file.read
列表是以方括号“[]”保卫的数据集合,不同成员以“,”分割。列表中可以包含任意数据类型,也可以包含其他列表,列表可以通过序号访问其中成员。在脚本中可以对列表进行排序、添加、删除等操作,可以改变列表中任意成员的值
列表列表中每一个值 叫元素 元素可有 字符串、数字、变量,取值以name[0] 0是列表的下标
常用的列表操作
索引取值
>>> name =["duqiu",1 ,"duqiu2"] 列表 >>> name.index("duqiu2") 获取列表的下标 2 >>> name[2] 通过列表的下标获取元素 'duqiu2'切片取值
>>> name[0:1] ['duqiu'] 取值语法 name[x:y-1] 取第一个值 name[0:2-1] name[][0:1] 在原有的基础上二次切片取值 name[::2] 以2-1为步数,在列表中取值插入新值
name.insert(2,"duqiu2") 在下标2的后面插入duqiu2删除操作
name.remove("duqiu") 只能删除一个元素 变量是元素 del name[2:5] 能删除多个元素 变量是下标/索引值 name.pop() 默认删除最后一个 也可添加下标删除指定元素修改元素
name[2]="duqiu4" 修改索引值2的元素为duqiu4判断列表中是否存在一个元素
duqiu in name #判断duqiu是否在列表name中 如果是 则为真(true) num_of_ele= name.count(3) #统计列表name 中有多少个 3这个元素
列表操作 | 描述 |
list.append | 追加成员 |
list.count(x) | 计算列表中的参数X出现的次数 |
list.extend(L) | 向列表中追加另外一个列表L的元素,组成一个新表 |
list.index(x) | 获得参数X在列表中的位置 |
list.insert() | 向列表中插入数据 |
list.pop() | 默认删除列表中的最后一个值,并返回被删除的值 可添加下标删除指定元素 |
list.remove() | 删除列表中的成员 |
list.reverse() | 将列表中成员的顺序颠倒 |
list.sort() | 对列表中的成员排序 |
len() | 查看列表的长度 |
元祖相当于只读列表,生成之后无法修改,语法是(x,y)元祖的操作只有两个一个是统计元素个数 一个是查看索引
元祖操作 | 描述 |
x.count() | 查看元素个数 |
x.index() | 索引元祖下标 |
字典是python中比较特殊的一类数据类型,是以大括号包围{} 的数据集合。字典与列表的最大不同在于字典是无序的,在字典中通过键来访问成员。
通常字典的操作
字典操作 | 描述 |
dic.clear() | 清空字典 |
dic.copy | 复制字典 |
dic.get(k) | 获得键K的值 |
k in dic | 是否包含键K |
dic.items() | 获得由键和值组成的列表 |
dic.keys() | 获得键的列表 |
dic.pop(k) | 删除键k |
dic.update() | 跟新成员 |
dic.values() | 获得值得列表 |
字典的语法格式 db={key:Value} key 是唯一的 显示字典 >>> a={123,duqiu} >>> print (a) {123: 'duqiu'} 字典取(value)值语法 >>> print (a[123]) duqiu >>> print(a.get("lz")) #一般用get 取值 如果没有 返回none 567 修改 添加 >>> a={123:"duqiu",234:"wangming"} >>> a[234]="zhangsan" #如果有则为修改 如果没有则为添加 >>> print (a) {234: 'zhangsan', 123: 'duqiu'} dic.update(dic2) 如果原字典有 则为替换 如果原字典没有则为添加 删除 del a[123] dic.items() 将字典转换成列表或元祖 在数据量大的时候转换过程会非常长 取一个key,如果不存在,就设置一个k,v dic.setdefault(123,"duqiu") for key in id_db: print(key.id_db[key ])
python数据类型:文件文件也可以看做是python中的数据类型,当使用python的内置函数open打开一个文件后返回一个文件对象
open(filename,mode,bufsize) fiename 要打开的文件 mode 可选参数,文件打开模式 r,只读 w 覆盖写入 a 追加 bufsize 可选参数,缓冲区大小 eg: user_file=open("user.log","r") print(user_file) <_io.TextIOWrapper name='user.log' mode='r' encoding='cp936'>python数据类型:集合set
集合也是python中数据类型的一种其特点是 无序,不重复 创建一个集合 set ={“a”,“b”} print(type(set)) <class,set> 功能: 添加 def add() s=ste{} s.add{123} 清除所有内容 def clear() s.clear s为空 差集(s1中存在s2种不存在) def difference() s1={11,22,33} s2={22,33,44} s3=s1.difference(s2) prin(s3) {11} s1.difference.update(s2) 将s1中存在s2中不存在的结果更新到s1中 对称差集(s1中存在,s2中不存在与s1中不存在,s2中存在的所有元素) def symmetric.difference() s1={11,22,33} s2={22,33,44} s3=s1.symmetic.difference(s2) s3={11,44} s1.symmetic.difference.update 将s3的结果跟新到s1中 移除指定元素, def discard() 如果元素不存在,不报错! s1.discard(11) def remove() 如果元素不存在,报错! def pop() 随机移除一个并获取这个元素! 取两个集合的交集 def intersection() s1={11,22,33} s2={22,33,44} s1.intersection(s2) s3={22,33} def intersection.update 如果没有交集返回True def isdisjoint() s1={11,22,33} s2={22,33,44} s1.isdisjoint(s2) False 取两个集合的并集 def union() s1={11,22,33} s2={22,33,44} s1.union(s2) s3={22,33} 跟新 def update() 可以跟新字符窜,列表,等等可迭代的 每个元素 相当于批量添加 判断语法 def issubset() 判断是否是子序列 def issuperset 判断是否是父序列文件的基本操作
文件操作 | 描述 |
file.read() | 将整个文件读入字符串中 |
file.readline() | 读入文件的一行到字符串中 |
file.readlines() | 将整个文件按行读入列表中 |
file.write() | 向文件中写入字符串 |
file.writelines() | 向文件中写入一个列表 |
file.close() | 关闭打开的文件 |
打开文件 open() 打开模式 r 只读 w 只写 x 判断当文件不存在时,创建文件并写入内容,当文件存在时,报错 a 追加 rb 直接跟二进制交互 r+ 可读可写 w+ 先写在读 a+ 追加到字符串追后的位置 close() 关闭文件 with open("xb") as f: seek() 调整内存指针位置 tell() 获取当前指针的位置 flush()强刷 truncate()截断,指针为后的清空
file.read
user_file=open("user.log","r") user_line=user_file.read() print(user_line) duqiu,123 wangming,123file.readline
user_file=open("user.log","r") user_line=user_file.readline() print(user_line) duqiu,123file.readlines
user_file=open("user.log","r") user_line=user_file.readlines() print(user_line) ['duqiu,123\n', 'wangming,123']
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法