理解切片基本用法:
首先需要明白,可迭代对象,按照正数索引(正序)是从0开始的,按照负数索引(逆序)是从-1开始的。
> astring = 'Hello world'
> astring[0:2]
'He'
>
可见,这种情况下,给切片操作一个起始位置,和一个终止位置,则显示从起始位置开始(包括起始位置)到终止位置(不包括终止位置)之间的内容;
在有负数索引的情况下,是类似的,只要确定终止位置的内容:
> astring[0:-1]
'Hello worl'
>
> astring
'Hello world'
> astring[0::1]
'Hello world'
> astring[0::2]
'Hlowrd'
> astring[0::3]
'Hlwl'
> astring[0::4]
'Hor'
>
在有三个参数的情况下,第一个起始位置,第二个是终止位置,地三个是步长。
测试程序:
# 首先理解切片含义,如下为切片程序结果演示
> s='abcde'
> s[:0]
''
> s[0:]
'abcde'
> s[1:]
'bcde'
> s[2:]
'cde'
> s[:3]
'abc'
理解range()基本用法:
测试程序一:
> range(1,5) # 输出从1到5的结果。包括头,不包括尾.
[1, 2, 3, 4]
> range(1,5,2) # 输出从1到5,间隔距离为2的结果。包括头,不包括尾.
[1, 3]
> range(5) # 输出从0到5的结果。默认起止为0。包括头,不包括尾.
[0, 1, 2, 3, 4]
测试程序二:
> s='abcde'
> i = -1
> for i in range(-1,-len(s),-1): # 输出结果
... print s[:i]
...
abcd
abc
ab
a
测试程序三:
> s='abcde'
> for i in range(len(s),0,-1): # 输出结果
... print s[:i]
...
abcde
abcd
abc
ab
a
测试程序四:
> s='abcde'
> for i in [None] + range(-1,-len(s),-1): # 用None作为索引值的输出结果
... print s[:i]
...
abcde
abcd
abc
ab
a
另外,range可以直接给list变量赋值:
elements = range(0, 6)
python,切片,range
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。