新开课day5总结
进制转换
bin:二进制
oct:八进制
hex:十六进制
- 十进制转二进制,转八进制,转十六进制
number = 78
# 十进制转二进制
print(bin(number))
# 十进制转八进制
print(oct(number))
# 十进制转十六进制
print(hex(number))
输出:
0b1001110
0o116
0x4e
- 二进制,八进制,十六进制转十进制
# 二进制转十进制
print(int(str(1001110), 2))
print(int('0b1001110', 2))
# 八进制转十进制
print(int('0o116', 8))
# 十六进制转十进制
print(int('0x4e', 16))
输出:
78
78
78
78
列表
- 空列表:list = []
- 列表:
list1 = ['a','1','1.0','你好',['a',2],{},None]
print(list1)
输出:
[‘a’, ‘1’, ‘1.0’, ‘你好’, [‘a’, 2], {}, None]
- 查询元素:
注意:不能超出列表范围,下标是从零开始
list1 = ['a','1','1.0','你好',['a',2],{},None]
print(list1[0])
print(list1[1])
print(list1[2])
print(list1[3])
输出:
a
1
1.0
你好
切片
-
怎么确定一个切片结果:
第一步:看切片的结果是否为[] -> 看从开始下标位置到结束下标对应的位置的方向和步长对应的方向是否一致
步长为正:表示从前往后取
步长为负:表示从后往前取
第二步:确定有效范围 -> 开始下标对应的元素能取到,结束下标对应的元素取不到
第三步:通过步长在有效范围内获取元素:
步长为正在有效范围内从前往后取;步长为负,在有效范围内从后往前取;
绝对值为1就一个一个的取;绝对值为2,就取1个跳过1个再取1个再跳过1个;绝对值为3,就取1个跳 过2个再取1个再跳过2个;… -
.根本目标数据写切片的代码:
第一步:确定开始下标 - 想要获取的所有元素中第一个元素的下标
第二步:确定结束下标 - 想要获取的所有元素中第最后一个元素前面(从后往前取)或者后面(从前往后取)那个元素的下标
第三步:通过获取元素的方向确定正负;通过获取方式确定绝对值
案例:
names = ['西施', '孙尚香', '刘备', '马可波罗', '赵云', '孙膑', '后羿', '鲁班7号', '百里守约']
print(names[1:5:2]) # ['孙尚香', '马可波罗']
print(names[-1:5:1]) # []
print(names[2:7:-2]) # []
print(names[-2:-7:-2]) # ['鲁班7号', '孙膑', '马可波罗']
print(names[-1:0:-3]) # ['百里守约', '孙膑', '刘备']
-
省略步长 - 相当于步长是1
列表[开始下标:结束下标] -
省略开始下标 - 从头开始(如果步长为正从第一个元素开始;如果步长为负,从最后一个元素开始)
列表[:结束下标:步长] -
省略结束下标 - 如果步长为正,从开始下标开始一直取到最后一个元素;如果步长为负,从开始下标开始一直取到第一个元素
列表[开始下标::步长]
列表[开始下标:]
案例:
tvs = ['一人之下', '海贼王', '名侦探柯蓝', '甄嬛传', '越狱', '行尸走肉', '绝命毒师', '穹顶之下']
print(tvs[:-3:2]) # ['一人之下', '名侦探柯蓝', '越狱']
print(tvs[:3:-1]) # ['穹顶之下', '绝命毒师', '行尸走肉', '越狱']
print(tvs[:5]) # ['一人之下', '海贼王', '名侦探柯蓝', '甄嬛传', '越狱']
蓝', '越狱']
print(tvs[:3:-1]) # ['穹顶之下', '绝命毒师', '行尸走肉', '越狱']
print(tvs[:5]) # ['一人之下', '海贼王', '名侦探柯蓝', '甄嬛传', '越狱']