天天看点

Python 字符串、列表、元组、索引、切片

一、简要概述

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<code>what is list?</code>

<code>1、用[ 和 ]括起来,用逗号间隔每个数据项</code>

<code>2、数据项可是同类型数据也可以是不同类型数据(数字、字符串、浮点型)</code>

<code>3、list里面可以有list作为其数据项</code>

<code>4、数据项对应的位置为索引编号(index)。默认第一个是0</code>

<code>5、有序的数据集合</code>

<code>what is string?</code>

<code>1、用单引号、双引号、三引号引起来。</code>

<code>2、字符串是一个常量不可被修改,它的主要用途就是读其元素。</code>

<code>what is tuple?</code>

<code>1、元组和字符串均是不可被修改的。但是访问的方式都是一样的。</code>

<code>2、定义格式不一样:列表是用</code><code>"[]"</code><code>,字符串是用</code><code>""</code><code>""</code><code>,元组是用</code><code>"()"</code>

<code>3、用途也不一样:元组用于多值传回(多值带入),列表用于数据的存储(因其可以被修改)</code>

<code>what is range?</code>

<code>1、range是python中的一个内建函数,它的返回值是一个list;默认步长是1。</code>

<code>what is index?</code>

<code>1、Python中所有的序列元素都是有编号的,从0开始递增,元素可以通过编号访问。</code>

<code>2、序列的第一个元素的索引始终是0.如果索引是负数呢?Python会从右边,也就是最后一个元素开始计数,最后一个元素的索引始终是-1</code>

<code>3、字符串字面值(其他序列字面值也如此)能直接使用索引,而不需要一个变量引用他们</code>

<code>4、如果一个函数返回一个序列,也可以对返回结果进行索引操作</code>

<code>5、索引的范围{ -len(str)到len(str)-1 }为闭区间</code>

二、脚本案例测试

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

<code>#!/usr/bin/env python</code>

<code>#coding:utf-8</code>

<code>#定义字符串变量和查找</code>

<code>print </code><code>"#定义字符串变量"</code>

<code>str = </code><code>"www.hytyi.com"</code>

<code>print </code><code>"str-&gt;pos-c-&gt;:"</code><code>,str.index(</code><code>"c"</code><code>)</code>

<code>print </code><code>"str-&gt;"</code><code>,str,</code><code>"\n"</code>

<code>#定义空列表的方法</code>

<code>print </code><code>"#定义空列表的方法"</code>

<code>list01 = []</code>

<code>print </code><code>"list01-&gt;long:"</code><code>,len(list01)</code>

<code>print </code><code>"list01-&gt;type:"</code><code>,</code><code>type</code><code>(list01)</code>

<code>list02 = list(</code><code>"www.hytyi.com"</code><code>)</code>

<code>print </code><code>"list02-&gt;:"</code><code>,list02</code>

<code>#将字符串转换成列表</code>

<code>print </code><code>"#将字符串转换成列表"</code>

<code>list03 = list(str)</code>

<code>print </code><code>"list03-&gt;:"</code><code>,list03</code>

<code>list04 = list03</code>

<code>print </code><code>"list04-&gt;:"</code><code>,list04</code>

<code>list04.reverse()</code>

<code>print </code><code>'list04&lt;-&gt;'</code><code>,list04</code>

<code>print </code><code>"list04 long -&gt;:"</code><code>,len(list04)</code>

<code>#将列表list04以逆序的方式赋值给list05的方式有以下4种:</code>

<code>print </code><code>"#将列表list04以倒叙的方式赋值给list05的方式有以下几种:"</code>

<code>list05 = []</code>

<code>i = 0</code>

<code>while</code> <code>i &lt; len(list04):</code>

<code>        </code><code>list05.insert(0,list04[i])</code>

<code>        </code><code>i = i + 1</code>

<code>else</code><code>:</code>

<code>        </code><code>print </code><code>"list05-&gt;1-&gt;:"</code><code>,list05</code>

<code>i = len(list04)-1</code>

<code>while</code> <code>i &gt;= 0:</code>

<code>        </code><code>list05.append(list04[i])</code>

<code>        </code><code>i = i - 1</code>

<code>        </code><code>print </code><code>"list05-&gt;2-&gt;:"</code><code>,list05</code>

<code>list05 = list04[::-1]</code>

<code>print </code><code>"list05-&gt;2-&gt;:"</code><code>,list05</code>

<code>list05 = list04</code>

<code>print </code><code>"list05-&gt;3-&gt;:"</code><code>,list05</code>

<code>#列表中的正方向切片</code>

<code>print </code><code>"#列表中的正方向切片,若只想要hytyi.其它的都不要,该如何实现呢?"</code>

<code>''</code><code>'</code>

<code>list = [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>index =  0    1    2    3    4    5    6    7    8    9    10   11   12</code>

<code>print </code><code>"list02-long-&gt;"</code><code>,len(list02)</code>

<code>list06 = list02[4:10:1]</code>

<code>print </code><code>"list06-&gt;1-&gt;:"</code><code>,list06</code>

<code>list06 = list02[-9:-3:1]</code>

<code>print </code><code>"list06-&gt;2-&gt;:"</code><code>,list06</code>

<code>list06 = list02[4:-3:1]</code>

<code>print </code><code>"list06-&gt;3-&gt;:"</code><code>,list06</code>

<code>list06 = list02[-3:-9:-1]</code>

<code>print </code><code>"list06-&gt;4-&gt;No-&gt;No:"</code><code>,list06</code>

<code>#将一维列表的所有元组合并为一个字符串</code>

<code>print </code><code>"#将一维列表的所有元组合并为一个字符串"</code>

<code>list02 = [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>str2 = </code><code>"www.hytyi.com"</code>

<code>print list02</code>

<code>import</code> <code>itertools</code>

<code>str2 = </code><code>""</code><code>.</code><code>join</code><code>(itertools.chain(list02))</code>

<code>print </code><code>"str2-&gt;Now-&gt;:"</code><code>,str2</code>

<code>#如果列表中有重复的数据项,则将其删除,只保留第一个。</code>

<code>print </code><code>"#如果列表中有重复的数据项,则将其删除,只保留第一个。"</code>

<code>#方法[1]</code>

<code>list08 = list02 * 2</code>

<code>print  </code><code>""</code><code>"count list08("</code><code>y</code><code>")-&gt;:"</code><code>""</code><code>,list08.count(</code><code>"y"</code><code>)</code>

<code>print  </code><code>"list08-&gt;:"</code><code>,list08</code>

<code>s = list08.count(</code><code>"y"</code><code>)-1</code>

<code>while</code> <code>i &lt; s:</code>

<code>        </code><code>list08.remove(</code><code>'y'</code><code>)</code>

<code>        </code><code>i += 1</code>

<code>print list08.count(</code><code>"y"</code><code>)</code>

<code>print list08</code>

<code>#方法[2]</code>

<code>list09 = []</code>

<code>list10 = list02 * 2</code>

<code>col1 = len(list10)</code>

<code>print </code><code>"count list10-&gt;:"</code><code>,col1</code>

<code>col3 = list10.index(</code><code>"y"</code><code>)</code>

<code>col2 = 0</code>

<code>while</code> <code>i &lt; col1:</code>

<code>        </code><code>if</code> <code>i == col3 or list10[i] != </code><code>"y"</code><code>:</code>

<code>                </code><code>list09.append(list10[i])</code>

<code>        </code><code>col2 = col2 + 1</code>

<code>        </code><code>print </code><code>"count list09-&gt;:"</code><code>,len(list09)</code>

<code>        </code><code>print </code><code>"list09-&gt;"</code><code>,list09</code>

<code>#方法[3]</code>

<code>list11 = list02 * 2</code>

<code>list12 = []</code>

<code>i = col4 = 0</code>

<code>        </code><code>if</code> <code>list11[i] == </code><code>"y"</code><code>:</code>

<code>                </code><code>if</code> <code>col4 &lt; 1:</code>

<code>                        </code><code>list12.append(list11[i])</code>

<code>                </code><code>col4 += 1</code>

<code>        </code><code>else</code><code>:</code>

<code>                </code><code>list12.append(list11[i])</code>

<code>print </code><code>"count list012-&gt;:"</code><code>,len(list12)</code>

<code>print </code><code>"list12-&gt;"</code><code>,list12</code>

三、测试结果展示

<code>root@python 20141107]</code><code># python list.py </code>

<code>#定义字符串变量</code>

<code>str-&gt;pos-c-&gt;: 10</code>

<code>str-&gt; www.hytyi.com </code>

<code>list01-&gt;long: 0</code>

<code>list01-&gt;</code><code>type</code><code>: &lt;</code><code>type</code> <code>'list'</code><code>&gt;</code>

<code>list02-&gt;: [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>list03-&gt;: [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>list04-&gt;: [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>list04&lt;-&gt; [</code><code>'m'</code><code>, </code><code>'o'</code><code>, </code><code>'c'</code><code>, </code><code>'.'</code><code>, </code><code>'i'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'h'</code><code>, </code><code>'.'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>]</code>

<code>list04 long -&gt;: 13</code>

<code>#将列表list04以倒叙的方式赋值给list05的方式有以下几种:</code>

<code>list05-&gt;1-&gt;: [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>list05-&gt;2-&gt;: [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>list05-&gt;3-&gt;: [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>#列表中的正方向切片,若只想要hytyi.其它的都不要,该如何实现呢?</code>

<code>list02-long-&gt; 13</code>

<code>list06-&gt;1-&gt;: [</code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>]</code>

<code>list06-&gt;2-&gt;: [</code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>]</code>

<code>list06-&gt;3-&gt;: [</code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>]</code>

<code>list06-&gt;4-&gt;No-&gt;No: [</code><code>'c'</code><code>, </code><code>'.'</code><code>, </code><code>'i'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>]</code>

<code>[</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>str2-&gt;Now-&gt;: www.hytyi.com</code>

<code>count list08(</code><code>"y"</code><code>)-&gt;: 4</code>

<code>list08-&gt;: [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>1</code>

<code>[</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'t'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'t'</code><code>, </code><code>'y'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>count list10-&gt;: 26</code>

<code>count list09-&gt;: 23</code>

<code>list09-&gt; [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'t'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code>count list012-&gt;: 23</code>

<code>list12-&gt; [</code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'y'</code><code>, </code><code>'t'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'w'</code><code>, </code><code>'.'</code><code>, </code><code>'h'</code><code>, </code><code>'t'</code><code>, </code><code>'i'</code><code>, </code><code>'.'</code><code>, </code><code>'c'</code><code>, </code><code>'o'</code><code>, </code><code>'m'</code><code>]</code>

<code></code>

     本文转自zys467754239 51CTO博客,原文链接:http://blog.51cto.com/467754239/1574116,如需转载请自行联系原作者