元组与字典

一、元组  (tuple)

定义:不可变系列,用法与列表差不多,但是不能修改

#元组的创建

bun = ()

1.元组与列表用法雷同,但添加、删除元素不行

2.不能对元组进行重修赋值

3.如果不是空的元组,至少添加一个逗号(10    是整型,但是 10,是元组)

4.可以放字符串与数字一起

#元组的解包

指将一个元组的每一个元素都赋值给一个变量,但是变量与元素的个数必须一致,若不一致时  可在元素前面添加一个“*”来收集剩下的元素,以列表形式返回(取前面,中间也可以,但是只能在一个元素前添加*,两个元素不能)

图片发自App


二、可变对象(就可改变里面的值)

1.每个对象当中保存了3个东西                          id(标识)        value(值)          type(类型)

a = [1,2,3]

a[0]=10    (改对象,其实就是值)                          这个操作是通过改变对象里面的值,不会改变变量指向的对象(id不变)

a = [4,5,6]    (改变量)                                        这个操作是给变量重新赋值,改变变量所指向的对象(id变)

图片发自App

图片发自App

三、== 和 is(返回bool值)

==和!=是比较两个对象的值是否相等                  is 和 is not 是比较两个对象的id值是否相等

字典

一、字典简介

①字典是一种新的数据结构,称之为映射(mapping)                                                                  ②作用是储存对象的容器                                            ③列表储存数据性能很好,但查询数据性能差          ④字典中每一个元素都有唯一的名字,通过这个名字可以快速的查找到指定的元素                                  ⑤唯一的名字称为键(key)通过key可以查找到值(value)称之为值                                                        ⑥所以字典叫键值,称之为(key-value)一个键值就是一个项

#创建字典

使用{}来创建                                                                    语法: {key:value,key:value……}                             

在字典中键和值可以是哪些内容呢?                          ①值是可以任意对象                                                      ②键是任意不可变对象  (int,str,bool,tuple……)                                                                    字典的键不能重复,若重复 则重新键后面的值由后面那个代替前面那个

#根据键来获取值

d = {‘name’:‘张三’,‘age’:19}              print(d[‘name’])  得‘张三’

字典的使用

#创建字典

dict(函数来创建字典)                                              d = dict(name=‘张三’,age=20)                      d = dict([(‘name’,‘张三’),(‘age’,19)])这是双值子序列,dict()可以将一个包含双值子序列转换成字典                                                                双值系列指系列中只有两个值,如 [3,4](‘name’,‘hello’)  ‘xy’                                                  子序列指如果系列中的元素也是序列 ,如:      [(1,2)]

len()  长度(个数)

in  和  not in  字典中是否包含指定的键,返回是一个bool值

如:  print(‘name’ in d)                                               

#获取字典的值

语法: d[key]      print(d[‘name’])                            若不想加引号,就得给键赋值。如:                              n = ‘name’  print(d[n])                           

#get()根据键获取值  并且返回默认值None

语法:  get(key,[default])  若这个key不存在返回默认值None

#修改字典 d[key]

如果已存在这个键,则覆盖前面的值,若不在则添加

#d.setdefault(key:value)添加            key-value   

如果key已经在字典中,则返回的值不会对字典做出任何操作 ;如果不存在时,则向字典添加key-value

图片发自App

#update()将其他字典里面的元素的key-value添加到当前字典中

注:若相同则代替前面的

#删除

①del (d.[key])根据键来删除②d.popitem()随机删除一个键值,但一般是最后一个,有返回值是元组     

③pop(key,[default])根据删除的键值对,有返回值(value)仅仅只有一个值      如果没有这个键会报错,但是指定了默认值(default)就不会报错且返回这个默认值

④clear()  清空字典


六、浅复制

copy()用于对字典进行一个浅复制,只会复制字典本身,如果字典里面还有字典则不会被复制

 

图片发自App
图片发自App

  遍历列表

keys( )    返回字典中所有的键                                      values()  返回字典中所有的值,是一个序列              items()    返回字典中的键值对

for  k  in  d.keys:

for  k.v in d.values:

你可能感兴趣的:(元组与字典)