一 补充上次(三)
1、删除列表的多个值
mylist=[‘a’,’b’,’c’]
mylist[2:3]=[] #删除mylist列表中 索引为2的值
注意:赋值为[]空列表mylist的删除 只能作用于 同时存在 头下标与尾下标 的情况
2、列表中copy问题
copy.copy() 浅拷贝 只拷贝一层
copy.deepcopy() 深拷贝 拷贝列表多层
二 数据类型之元组
元组的说明
1、使用小括号里面多个值 使用逗号来隔开
如:(1,2,3,4)
2、如果说元组中只有一个值 那么需要加逗号 否则就为int类型
如:mytup=(1,) #正确写法
3、元组的取值和列表 字符串相同 mytup[头下标 : 尾下标]
4、元组中索引默认从0 开始 最后一个为-1
5、元组中的某个索引的值不可以进行修改以及删除操作(目前只有列表可以)
6、元组的+*和字符串的一样 +只能对于同等的数据类型来操作
三 数据类型之 集合
集合的说明
空集合 需要使用set() 来定义 空集合 否则{} 为字典类型
集合 会自动去除重复的值
集合 & 返回集合中同时存在的值
差集 set1-set2 注意比较顺序 返回 1在2里面不存在的值
并集set1|set2 返回 两个集合中 所有的值并去除重复值
^ myset1 和 myset2 中 不同时存在的值
myset1 = {1,2,4,5,7}
myset2 = {1,2,3,4,5,'a','b'}
myset1 & myset2 #{1,2,4}
myset1 - myset2 #7
myset2 - myset1 #注意比较的顺序
myset1 | myset2 #并集 返回 两个集合中 所有的值 并去除 重复值
myset1 ^ myset2 #myset1 和 myset2 中 不同时存在的值
四 数据类型之 字典
1. 字典的说明
1.使用大括号 {} 来定义字典
2.由键值对来组成 成对出现
3. 键值之间 使用冒号: 来隔开 多个键值对之间使用逗号来隔开
4. 键值对中的键 手动来给 并不会自动生成
5. 键值对中的键是唯一的 如果字典中 出现了多个同样的键值对 那么是对于这个键的值得修改
2.字典的取值
#字典名['字典的键'] #返回对应键的值
和Java中的Map差不多,有key-value,但是字典只有一种类型,key自动去重
3.字典的添加和修改
如果改建在字典中存在 那么赋予新的值 为对原来该键的值的修改
如果该键在字典中不存在 那么为对原来字典的添加
4.字典的删除
使用del方法 删除 对应的某个字典中的键
使用del加字典的变量名 为 删除整个字典
5字典中常用的函数
函数 | 描述 |
---|---|
dict.keys() | 以列表返回一个字典所有的键 |
dict.items() | 以列表返回可遍历的(键,值)元组数组 |
dict.values() | 以列表返回字典中的所有值 |
dict.pop(key) | 弹出某一个键的值 |
dict.update(dict2) | 把字典dict2的键/值对更新 到 dict里 |
dict.copy() | 返回一个字典的浅赋值 |
dict.popitem() | 随机返回并删除字典中的一对键 和 值 |
数据类型的转换
函数 | 描述 |
---|---|
str(X) | 将数据转换成字符串类型 |
int(X) | 将x转换成整型 |
float() | 转化成浮点型 |
list() | 转换成列表 |
tuple() | 转换成元组类型 |
dict() | 转换成字典类型 |
eval() | 转换字符串 或者 字符串表达式 |
set() | 转换成集合 |
三 运算符
1.算数运算符
+ - * / % **(次方) //(整除)
2 比较运算符
< >= <= == !=
3 逻辑运算符
and #逻辑与 两侧为真 才为真
or #逻辑或 两侧为假 才为假
not #逻辑非 真为假 假为真
4 成员运算符
in #是否在序列里
not in #是否不在序列里
5 位运算符
标识 | 解释 |
---|---|
& | 按位与 如果都为1 才为1 否则为0 |
| | 按位或 有一侧为 就为 1 |
^ | 按位异或 两侧不同时 为1 |
~ | 按位取反 1~ = 0 |
‘’<<< ‘’ | 左移 运算符 3<<<2 |
‘’ >>>‘’ | 右移 运算符 3>>>2 |