介个嘛,奏是第五课(部分列表和元组以及字典)

标题都看见了,为什么是部分列表呢,因为上一篇没有写完( ̄▽ ̄)"
看博客呢,就要有看连续剧的心,这里做的就是的引子,链接上一篇,这样显得不尴尬( ̄_, ̄ )
那上一篇的列表呢,主要说的是增删改查,这一片我们来了解一下.......说实话,写到这里我有点迷了,因为我感觉,下面的内容跟列表的关系,就好像你还有你四姨奶家的三小子的l连桥的儿子的关系一样.....说不清理还乱(。・・)ノ
我们接着上一篇,先说一个列表的遍历
(我承认这个的关系还行......)
我们先来解释一下什么是遍历,就是把你列表里的都提取一边,也就相当于把你以前的对象都逐个叫出来
列表的遍历 用什么语句呢, while,for
我们先来创建一个列表
name=["你好","python"]列表内的字符用逗号隔开
i=0  这个是元素下标,先赋一个值为0
whiie i<len(name):   我们while,让i的值小于name的长度
    print(i)
    i+=1     等同于i=i+1,这里的目的是让i的值不断增加,从而达到遍历全部的目的
接下来是for
for i range(len(name)):   此处的意思就是让i在name标签的长度内
    print(name[i])       这里就不多做解释了,中括号截取字符,从而遍历全部
for i in name:
   print(i)
以上就是列表的遍历了,接下来说的就是我们之前说过的和列表关系不是特别大还在一个课里的语句
eval() 可将元组、字典、列表类型的字符串转为元组、字典、列表   没有标示默认为元组
他可以把list,tuple,dict和string这四种类型相互转化,这里我们就不多做解释了.
接下来我们就来说说今天的正文,元组
元组
python的元组跟列表很像,这也就是为什么把他们放的这么近的原因了
元组使用括号 ,列表使用中括号,元组创建爆*儿简单,只需要在括号中添加元素(不分数据类型),并使用逗号隔开即可
但是,元组是不可以改变的,也就是说他是既定的,创建的时候什么样就是什么样,是不可改变的
增删改都不行,是不可变类型,数值 元组皆为不可变
什么是不可变,我们来稍微的解释一下
a=1
b=1   数值是不可变类型
print(id(1))
print(id(a))
print(id(b))
运行的结果是
如果我们想改变print(id(a)),就在他上面加一个a=2,即可,1或者2的地址是不变的,只是a不再指向1,而是指向了2
元组是不可变的,但是元组内列表里的值依然是可以变的!
那么我们继续回到正题
来说一下 逐个赋值
什么意思呢
我们设置一个a=(1,2)
b,c=a
当我们print b 和c   得出的值分别是 1 , 2
逐个赋值,一一对应,当a的值多于或少于前面的变量时将会报错
在元组这里呢,有必要说的是,就算元组里只有一个值,这个值的后面一定要加,(逗号),跟之前说的tab,:一样重要
例如:a=(33,)如果没有这个,(逗号),那么他将不是一个元组
想访问一个元组,可以使用切片,和列表切片的用法一样.
元组还可以用 + * in  not in  这些运算符
元组的内置函数
len() max() min() 这些在之前说过,我们接不多做强调了


主要的说说他的 tuple()函数   
tupile()    他是新开辟一个空间,从创建一个元组格式的数据    内容就是小括号里的,不写他就是一个空的元组,想加入元素,就在小括号里写(1,2),也可以在其中加入中括号,就等同于,将列表里的元素逐个拿出,运行之后他还是个元组
那么,元组我们就说完了,接下来说第二个主要内容:字典
字典:
字典是一种可变容器模型,他可以存储任意类型对象
字典的每个键值对用(:)分割,什么意思呢,就是说冒号之前的是主体,后面的是意义,可以理解为,我们常用的字典中的字和他的意思
他跟一对一对出现的(对单身狗极其不友好(╬▔皿▔)凸)
每一对之间用逗号分割,整个字典在花括号内
格式如:
a={key1:value1,key2:value2}
b={key3:value3,key4:value4}
冒号前的key是唯一的,但值不唯一的,建必须是唯一的也就是说他只能是不可变类型如:字符串,数字,元组,但是值可以取任何和数据类型
接下来说,字典的增删改查,这四种操作都是通过key来进行操作
:a["新的key"]="新的value"
如果我们我们再写一个同样的增a["新的key"]="新的value2"那么后来的将覆盖之前的,这也就是改了
:key存在则覆盖,不存在则为增加
:有两种第一种
   1.del a["key1"]  删除的必须是存在的不存在则抛异常
   2{.a.pop("key1")  他将返回值,此值为value1
      {a.pop("key3"[none])  这是pop的第二种写法,当我们删除一个没有的key时,他不会报错,并且返回中括号里的值
:{a.get("key5","value5"),当要获取的key不存在时,不会抛异常,而是会返回value5
    {第二种为:a["key5"],此种用法,如果不存在则抛异常,此种方法不推荐
接来说说字典键的特性
1 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少
字典时可以无限嵌套的,这里我就不多解释了,(因为我困了_〆(´Д` )
(这里就借用一下( ̄▽ ̄)")
字典的内置函数:
len() 获取长度
str() 字符串
type()  获取数据类型
clear() 清空
copy() 复制值(不是地址)
keys()
values()
items()
pop(key)  如果没有key则抛异常
get("key","value")
popitem()  随机删除一对键值(一般会删除末尾对),如果字典为空,则抛KeyError异常

写到这,这篇博客就写完了,你能想象到,外面修路噪音极大,我一个人嘴里虚弱的夹着一根没有点的烟,头上顶着鸟巢,面无表情的敲打着键盘,我一个二十多岁的年轻人,活生生的看见了三十岁的自己,这样的环境这样的情景,感觉好可怕,如果说你看完了,有不懂的地方,请找python王老师,他的博客是:......算了,(我没有)详情请百度:python的基础!

猜你喜欢

转载自blog.csdn.net/why861095769/article/details/80246682
今日推荐