您的位置:首页 > 编程语言 > Python开发

python之数据类型(二)

2016-06-18 21:18 302 查看
python数据类型之列表
列表是以方括号“[]”保卫的数据集合,不同成员以“,”分割。列表中可以包含任意数据类型,也可以包含其他列表,列表可以通过序号访问其中成员。在脚本中可以对列表进行排序、添加、删除等操作,可以改变列表中任意成员的值

列表列表中每一个值 叫元素 元素可有 字符串、数字、变量,取值以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()查看列表的长度
python数据类型:元祖

元祖相当于只读列表,生成之后无法修改,语法是(x,y)元祖的操作只有两个一个是统计元素个数 一个是查看索引

元祖操作描述
x.count()查看元素个数
x.index()索引元祖下标
python数据类型:字典 dic

字典是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,123
file.readline

user_file=open("user.log","r")
user_line=user_file.readline()
print(user_line)
duqiu,123
file.readlines

user_file=open("user.log","r")
user_line=user_file.readlines()
print(user_line)
['duqiu,123\n', 'wangming,123']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python