1 #数据结构
 2 
 3 #元组
 4 #元组本身是一种序列结构
 5 
 6 #序列
 7 #Python中的序列,有点类似于我们C中间的数组
 8 #有些不同的是,他这里有正值索引和负值索引
 9 
10 #而与C中间的数组不同的是
11 #序列是一个更大的范围,它包括了list列表,str字符串,tuple元组,范围range,字节序列bytes。
12 #而这里的序列可以加,可乘,也可以分片和索引
13 #可以说是"非常的人性化"(多谢van强哥)
14 #那么接下来,就让我们走进这个疯子的内心世界
15 
16 #字符串序列
17 a="字符串序列";
18 print(a[0]);
19 print(a[4]);
20 #这都是正向索引
21 #基本方法如下
22 #字符串序列
23 #0 1 2 3 4
24 #那么我们来看一下反向索引
25 
26 print(a[-2]);
27 #字符串序列
28 #0 -4 -3 -2 -1
29 #反向索引的基本规则就是
30 #第一个是0不变
31 #后面的从最后一位开始-1;
32 
33 #这里还有三个方法可以使用
34 #min() max() len()
35 #min()返还最小字符
36 #max()返还最大字符
37 #len()返还字符串长度
38 
39 print("字符串的长度为\"{0}\"".format(len(a)));
40 print("字符串的最大字符是\"{0}\"".format(max(a)));
41 print("字符串的最小字符是\"{0}\"".format(min(a)));
42 #字符串的大小比较的规律我就不讲了
43 #前面有说过
44 
45 #我们再看看字符串序列的加法和乘法
46 b="真的有这么丝滑吗?";
47 c="哇,真他n的丝滑。";
48 print("b+c={0}".format(b+c));
49 print("b*3={0}".format(b*3));#人类本质
50 
51 #字符串的序列分片
52 #基本格式
53 #序列1[start:end:step]
54 #start表示开始的索引,end表示结束的索引,step表示每步索引的距离
55 #但要注意的是,切出的序列包括start但是不包括end;
56 
57 d="是兄弟就来砍我";
58 print("砍出第一刀={0}",format(d[0:3]));
59 print(d);
60 #这里看出,这里的分片,只是复制然后使用数据,本质并没有改变原有的数据
61 
62 print("砍出第二刀={0}".format(d[0:-2]));
63 #而从这个例子我们发现,再切分片的时候,原来的反向索引(负值索引)也是可行的
64 
65 print("砍出第三刀={0}".format(d[0:6:2]));
66 #这个例子,如果没加上step,step默认是1
67 #而这里我们step是2
68 #原数据是;是兄弟就来砍
69 #然后step2:是弟来
70 #这就很清楚了吧
71 
72 print("砍出第四刀={0}".format(d[:6:2]));
73 print("砍出第五刀={0}".format(d[0::2]));
74 print("砍出第六刀={0}".format(d[::2]));
75 
76 #不填start,默认是0
77 #不填end,自动包括后面所有的数据
78 #不填start和end,就不做改变,满足step的输出

 

悟已往之不谏,知来者之可追