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的输出