python中的四种数据类型
列表
- 定义
列表是一种有序的集合,可以随时添加和删除其中的元素
变量 = ["数据","数据1" ....]
通过列表可以实现数据的:
- 增删改查
可以在命令行使用
列表中的各种操作
dir(list)
查看列表的常见操作函数
- 查询数据:
根据下标获取列表中的某个数据
- 查询某个指定数据在列表中的位置:
L.index("数据")
- 修改数据:
根据下标直接修改
L[2] = "数据"
还可以先查询数据的位置
index = L.index("数据")
L[index] = "数据1"
- 删除数据:
L.pop() 删除列表中最后一个元素
L.remove("数据") 删除列表中指定的数据
- 增加数据:
L.append("数据") 在列表末尾追加数据
L.insert(0, "数据") 在列表指定位置增加数据
reverse() 函数用于反向列表中元素
L.reverse()
该方法没有返回值,但是会对列表的元素进行反向排序。
- sort()方法用于数组排序
L.sort()
字典(dict):
在python中也提供了内置的映射类型--字典。映射其实就是一组key和value以及之间的映射函数,其特点是:key的唯一性、key与value的一对多的映射。
1.字典的创建
字典的基本形态dic={key1:value1, key2:value2...}
创建方式1:直接型。
dict1={}
dict2={‘name’:'earth','port':'80'}
创建方式2:使用工厂方法dict,通过其他映射(例如字典)或者(键,值)这样的序列对建立
items=[('name','earth'),('port','80')]
dict2=dict(items)
dict1=dict((['name','earth'],['port','80']))
创建方式3:使用内建方法fromkeys()创建’默认‘字典,字典中元素具有相同的value(如果没有给出,默认为none)
dict1={}.fromkeys(('x','y'),-1)
#dict={'x':-1,'y':-1}
dict2={}.fromkeys(('x','y'))
#dict2={'x':None, 'y':None}
2.访问字典中的值
最常用和基本的莫过于利用key访问value了
a.通过key访问value之get方法
dict1.get('name')#也可以直接是dictionary['key1'],但是当key1不存在其中时,会报错;此时用get则返回None
b.随机访问其中键值对
字典中是无序的,利用popitem方法是随机弹出一个键值对
c.返回字典所有值的列表
方法values
3.访问字典中的key
a.检查是否含有key1
#dictionary.has_key(key1)
key1 in dictionarty
key1 not dictionary
b.返回字典中键的列表
dictionary.keys()
查询数据:
x = p["name"]
x = p.get("name")
4.访问键值对
a.遍历方式
for r in dicitonary #r是dictionary中的键值对
b.修改(更新)或添加
p["name"] = value
p["name"] = value
删除
a.按key删除
del dictionary[key1]
b.删除并返回
dictionary.pop(key1)
c.删除所有项
dictionary.clear()
del dictionary
6.排序
sorted(dic.iteritems(), key=lambda d:d[1] reverse=False)
说明:对字典dic中的元素按照d[1](d[1]是value,d[0]是key,和d没关系,可以改为a什么的)进行升序排序,通过设置reverse的True或False可以进行逆序,并返回排序后的字典(该排序后的字典由元组组成,其形式为[(key1,value1),(key2,value2),...],且原字典保持不变)
7.其他
len(dictionary) #返回字典项个数
dictionary.item()
dictionary.iteritems()
元组(tuple):
出现的意义:
为了表示现实生活中,比较固定的数据,出现了元组的概念
元组的特点:
也可以存储多个数据,但是一旦声明并且赋值,不允许修改数据
元组的声明:
通过一对小括号进行声明
t = (“春”, “夏”, “秋”, “冬”)
元组中出现的函数:
count():查询指定的数据出现的次数
index():查询指定的数据出现的位置
注意:声明一个只包含一个整数的元组和一个空元组
声明一个只包含一个整数的元组,切记 x = (12,)
声明一个空元组,可以直接使用(),如:x = ()
tuple()可以用来声明一个元组,同时也可以将其他的组合类型转换成元组
面试题:元组中的数据不是不能更改吗?我可以更改数据,请尝试解释
>>> a = ([1,2], [1,2])
>>> a
([1, 2], [1, 2])
>>> a[0][0] = 10
>>> a
([10, 2], [1, 2])
集合(set):
集合是一个保存多个数据的数据类型。
注意:set中不能存放重复数据,数据没有顺序
要创建一个集合,需要提供一个List作为一个输入集合
例如:s = set([1, 2, 3])
>>> {1, 2, 3}
声明一个集合:set = {1,2,3}
空集合 s=set()
增:
add()增加一个数据到集合中
改:
无法修改数据
可以通过remove + add结合来实现
查:
无法查询单个数据
for + if 查询 并获取某个数据
成员运算符,来查询是否包含某个数据
只能通过循环遍历数据
删除:
pop() 删除随机一条数据
remove(x) 删除指定的数据(如果数据不存在会报错)
discard(x) 删除指定的数据(如果不存在,没有事情发生
根据具体的功能来确定,如果删除数据不需要出现错误提示,使用discard如果删除数据需要出现错误提示,使用remove()
类型的转换
list转字符串
-
tuple转字符串
列表和元组转化为字符串必须依靠join函数
直接使用str()会在最外层加个双引号。 字典转换为字符串
使用str()字符串转化为字典
使用eval()