python学习笔记-数据结构-列表 元组 字符串 集合 字典常
2016-12-08 本文已影响79人
freedom_smile
<h3>1 序列(列表、元祖、字符串)</h3>
- 序列中的每个元素都有自己的编号
a. 列表 list 中括号[] 逗号分隔 中括号[]列表里面的元素可以是数字类型也可以是字符串类型还可以是列表元组等
b. 元组 tuple 小括号 () 也可以不加() 逗号分隔,只有一个值的话 必须在后面加逗号
c. 字符串 '' "" """ - 将 列表转换成字符串 会将 逗 []号都加进去
- 互相转换 tuple() list() str()
<h4>1.1 序列的通用操作</h4>
- 索引:从0开始 从左到右 所有序列可通过这种方式进行索引,有正向索引和反向索引,元素在序列中的索引值是不可变的
- 切片:用来访问一定范围内的元素,通过冒号相隔的两个索引来实现,不同的步长,有不同的输出[::]
- 序列相加:同一类型才能相加+
- 重复:序列*重复的次数
- 检查成员 in not in 判断元素是否在列表里
- 长度 len() 最大值max() 最小值 min()
- 比较大小规则:ascii码值 一个一个比
<h4>1.2 列表 元组 字符串 不同点</h4>
<h5>1.2.1 元组是不可变的</h5>
<h5>1.2.2 字符串是不可变的</h5>
<h5>1.2.3 列表的内容是可修改的:</h5>
- 可以对元素进行重新赋值
- del a[2]可以删除指定索引的元素 里面的值是索引值
- del a 也可以删除整个元素
- remove a[3] 删除第一个出现指定的值 里面的值是元素的对象 返回时None
- 也可以 赋值为 [] 进行删除
</br>
<h5>1.3 列表的属性和方法</h5> - .append(obj) 加在末尾 作为一个值加 在列表末尾添加新的对象
- .insert(index,obj) 加在指定位置
- .extend(seq) 将每一个元素作为单个元素增加 用新列表扩展原来的列表
- .count(obj) 统计某个元素在列表中出现的次数
- .index(obj) 返回对象第一次出现的索引值 从列表中找某个值第一个匹配项的索引位置
- .pop 不加指定位子,删除最后的元素,加位置删除对应索引的元素 有删除的值返回
- .remove(obj) 移除指定元素从左边开始的第一个
- .sort() 从小到大排序 改变值 对原列表进行排序
- .reverse() 反向列表中的元素 会改变元素的值
</br>
<h5>1.4 元组的属性和方法</h5>
元组不能被修改,元组的属性和方法: - .count(obj) 统计某个元素在元组中出现的次数
- .index(obj) 从列表中找某个值第一个匹配项的索引位置
</br>
<h5>1.5 字符串的属性和方法见上篇文章</h5>
<h3>2. set() 集合</h3>
<h5>2.1 特点:</h5>无序 元素是唯一的
<h5>2.2 创建:</h5>
<h6>方式一:{} 、 方式二:set([])</h6>
<h4>2.3 集合的运算</h4>
交集 & 并集 & 差集 -
<h4>2.4 集合的属性和方法:</h4>
- in not in 判断元素在不在set中,在则返回True
- s.add() 添加单个元素
- s.update() 添加多个元素
- s.remove() 移除元素
- s.clear() 清空集合 清除元素,但是对象还在
- s.issubset(t) 如果set s是set t的一个子集,则返回True
- s.issuperset(t) 如果set s是set t的一个超集,则返回True
- s.union(t) 返回一个新集,与 s&t 一样并集
- s.intersection(t) 返回一个新集,与s|t 一样交集
- s.difference(t) 返回一个新集,与 s-t 一样差集
<h3>3. 字典:</h3>
<h6>方式一:{key:value} 、 方式二:dict(key=value) </h6>
- 字典里面的键值对用 : 分隔,一对键和值组成一个项,项和项之间用,隔开
- 键可以为任何不可变类型
- 键必须唯一
列表 集合 可变
元组 字符串 数字 不可变
<h4>3.1 赋值,修改</h4>
- 键值不存在
- 键值存在,会将之前的值覆盖掉
<h4>3.2 字典删除的方法:</h4>
- del 删除单个项,也可以删除整个字典
- pop('键') 返回键对应的值,输出后再删除
- clear() 清空整个字典 字典存在 只是元素清空了
<h4>3.3 字典的属性和方法:</h4>
- in not in 判断键在不在字典中,在则返回True
- .update({}) 在字典中添加多个项
- .items 返回字典的各个项 返回列表类型 里面元素是元组
- .keys() 返回字典的键
- .values() 返回字典的值
- .get(k) 键k存在,返回键k的值,不存在返回 None
- .get(k.x) 键k存在,返回键k的值,不存在返回x
- .pop(k) 返回并移除键k所对应的元素,不存在则抛出异常
- .pop(k,x) 返回并移除键K所对应的元素,不存在则返回x
<h4>3.4 字典的特性:</h4>
- 不允许同一个键出现两次,创建时如果同一个值被赋值两次,后一个值会被记住
- 键必须不可变,所以 可以为 数字,字符串,元组充当,列表和集合不行
-----附上总结脑图-----
Python数据类型.png