Python中的数据结构 --- 元组(tuple)、字典(tuple)

时间:2022-07-28 06:10:12
   元组(tuple)本身是不可变数据类型,没有增删改查;元组内可以存储任意数据类型
一、元组的创建

例:t = (1,2.3,'star',[1,2,3])      ## 元组里面包含可变类型,故可以间接修改元组类型
二、元组的特性
  t = ([1, 2, 3], 4)
  1)索引

print t[0]       ## 输出元组的第一个元素
  2)切片

print t[::-1]    ## 倒叙输出元组的所有元素
  3)重复  
   print t*3

4)连接 
   print t+('43',[1,3])      ## 连接的类型必须为元组
  5)成员操作符

print 'we' in t           ## 若we元素在t元组里面,返回True;否则,返回False
  6)for循环
三、元组的应用
  1、变量的交换
   a = 1
   b = 3
   a, b = b, a       ## 实现a、b的交换
  2、打印变量值
   name = 'westos'
   age = 10
   t = (name, age)
   print "name:%s  age:%d" % (name, age)
   print "name:%s  age:%d" % t
  3、元组的赋值:有多少个元素,就有多少个变量接受
   t = ('hello', 10, 100)
   a, b, c = t         ## 此时,变量a、b、c中分别被赋值为hello,10,100
  4、由于元组不可以直接使用排序函数;但可以使用以下两种方法进行排序
   1)可以使用:sorted进行排序是临时的,不修改变量里面的值
   Python中的数据结构 --- 元组(tuple)、字典(tuple)
   2)把元组类型转换为列表,就可以对列表里面的内容进行排序
   Python中的数据结构 --- 元组(tuple)、字典(tuple)

 

字典(dict)是一个无序的数据集合,使用print输出时,通常输出的顺序和定义的顺序是不一致的。

一、字典的定义

1)定义方法1:

message = {

,

s = {}

s = {

, , )

print d, type(d)

二、字典的特性:没有索引、切片、重复、连接;有成员操作符、for循环 

  1)成员操作符(默认判断key值是否存在)
    Python中的数据结构 --- 元组(tuple)、字典(tuple)
  2)for循环(默认循环遍历字典的key值)
   for i in d:
     print i 

三、字典的增加

1)添加或者更改key-value对

  Python中的数据结构 --- 元组(tuple)、字典(tuple)
 2)update: 如果key值存在,更新value值;如果key值不存在,添加key-value值
  Python中的数据结构 --- 元组(tuple)、字典(tuple)
 3)setdefault:如果key值已经存在,不做修改;如果key值不存在,添加key-value值
   Python中的数据结构 --- 元组(tuple)、字典(tuple)

四、字典的删除

1)使用pop('key'),弹出指定的key-value值

Python中的数据结构 --- 元组(tuple)、字典(tuple)

2)使用popitem(),删除字典的第一个元素

Python中的数据结构 --- 元组(tuple)、字典(tuple)

3)del :删除字典

Python中的数据结构 --- 元组(tuple)、字典(tuple)

五、字典的修改与查看

service = {'http':80,'mysql:3306'}

1)查看字典里面所有的key值

print  service.keys()

2)查看字典里面所有的value值

print service.values()

3)查看字典里面所有的key-value值

print service.items()

4)遍历

for k,v  in  service.items():

print k,'--->',v              ## 直接输出key和value值

for k in service:

print k,'--->',service[k]     ## 利用key值,检索到value值

5)判断指定key对应的value

if 'http' in service:

print service['http']

else:

print 'key  not exist'

或者使用get方法来获取:如果key存在,返回对应的value值;否则默认返回None,如果需要指定返回值,传值即可

print service.get('http','key  not exist')