Python学习 Day2
基本数据结构
List:列表 Tuple:元组 Dictionary:字典 Set
1、list
list: [ , , ]存在于计算机中的连续的内存空间 例:days_in_month=[31,28,31,30,31,30,31,31,30,31,30,31] list中可以放不同的元素,可通过索引访问
创建 empty_list = []#创建空列表 another_empty_list = list()#创建
weekdays=['Monday','Tuesday','Wednesday','Thursday','Friday']
删除
delete:通过索引寻找
remove:通过元素值寻找
添加
append:将要加的元素添加到当前list的最后
+:将两个列表进行拼接
insert:将元素插在list的任意位置
index:找到对应的元素并返回该元素所在的位置
pop:在列表中取某一元素,并将列表内的该元素清楚,pop内可写入对应索引
排序
sort
- 列表方法
sort()会就地对列表进行排序。原列表内部结构变化,需要列表内元素为同一类元素 - 通用函数
sorted()会返回列表的排序副本。即复制一份新的,原列表内布不会发生变化

例:
1、通过sorted将字符串及进行排序
2、希望返回的值不以list形式展示,而是返回为字符串形式

join() 返回一个字符串,其中序列的字符串元素已被 str 分隔符连接起来
copy
赋值:原值改变后赋值出来的也跟着变
复制:原值改变后复制出来的不会跟着变化
string是不可以被修改的,list是可以被修改的
2、Tuple
和列表类似,元组也是任意元素的序列。不过,元组是不可变的。定义后你不能添加、删除或修改它。
创建

元组和列表的区别
- 元组占用的空间更少(动态的)
- 你不会不小心覆盖元组里的元素
- 你可以用元组作为字典的键
- 函数参数是以元组的形式传递的
3、Dictionary
是一种<key:value>形式的,字典 似于列表,但条目的顺序不重要,也不是通过偏移量(索引)来选择的。相反,你需要指定一个唯一的 键 关联每个值。键通常是字符串,但也可以是 Python 的任何不可变类型。
创建
添加
update
remove

根据某一个key访问value,访问速度快(list远远慢于字典) 原因:list是一个连续的空间,字典是将key通过一个“黑盒子”返回为int值,用该int值与字典的len取模得到的余数(范围为[0,size))作为访问时的index,类似于hash
4、set
set中的元素不能重复,具有唯一性,相比于字典来说只有key,没有value
创建
集合操作

将基本数据类型转换为list
将基本数据类型转换成字典

- 变量必须是序列,2. 每个元素的长度都等于 2
也可以使用 zip() 函数来生成这种配对
也可以使用 unzip() 函数来将配对进行压缩
Mutable, Immutable
像 (int, float, bool, str, tuple, unicode) 这样的内置类型对象是不可变的。像 (list, set, dict) 这样的内置类型对象是可变的。自定义类通常是可变的。字典中的key值能放Immutable的类型

