python编写一个对list_python开发_python中的list操作

1 Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32bit (Intel)] on win322 Type "copyright", "credits" or "license()" formore information.3 >>> counter = 100

4 >>> miles = 1000.0

5 >>> name = "hongten"

6 >>> numberA,numberB,nameC = 1,2,"Hongten"

7 >>> list =[counter,miles,name,numberA,numberB,nameC]8 >>> print(list)9 [100, 1000.0, 'hongten', 1, 2, 'Hongten']10 >>> #这是注释部分,注释用"#"开始

11 >>> for element inlist:12 print(element)13

14 100

15 1000.0

16 hongten17 1

18 2

19 Hongten20 >>> #上面是遍历列表list

21 >>> print(list[0]) #获取列表list里面的第一个元素值

22 100

23 >>> print(list[-1]) #获取列表list里面的最后一个元素值

24 Hongten25 >>> print(len(list)) #用len(list)获取list列表的长度

26 6

27 >>> num_inc_list = range(10) #产生一个数值递增的列表

28 >>> print(num_inc_list)29 range(0, 10)30 >>> for inc_list innum_inc_list:31 print(inc_list)32

33 034 1

35 2

36 3

37 4

38 5

39 6

40 7

41 8

42 9

43 >>> #从这里我们可以看到range(10)是产生了一个从0开始到9的一个数值递增列表

44 >>> initial_value = 10

45 >>> list_length = 5

46 >>> myList = [initial_value for i in range(10)]47 >>> print(myList)48 [10, 10, 10, 10, 10, 10, 10, 10, 10, 10]49 >>> list_length = 2

50 >>> myList = myList *list_length51 >>> print(myList)52 [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]53 >>> print(len(myList))54 20

55 >>> #上面是用一个固定值initial_value去初始化一个列表myList

56 >>> #同时用myList = myList * list_length去复制myList

57 >>> #下面再看看复制的效果

58 >>> copyList = [1,2,3,"hongten"]59 >>> copyList = copyList *list_length60 >>> print(len(copyList))61 8

62 >>> for cl incopyList:63 print(cl)64

65

66 1

67 2

68 3

69 hongten70 1

71 2

72 3

73 hongten74 >>> #下面我们来仔细研究一下python里面的list

75 >>> #在一个list中可以包含不同类型的元素,这个和ActionScript 3.0(AS3.0)中的数组类似

76 >>> test_list = ["hello",1,2,"world",4,5,"hongten"]77 >>> print(len(test_list))78 7

79 >>> print(test_list[0]) #打印test_list

80 hello81 >>> #打印test_list中的第一元素

82 >>> print(test_list[-1]) #打印test_list中最后一个元素

83 hongten84 >>> print(test_list[-len]) #打印第一个元素

85 Traceback (most recent call last):86 File "", line 1, in

87 print(test_list[-len]) #打印第一个元素

88 TypeError: bad operand type for unary -: 'builtin_function_or_method'

89 >>> print(test_list[-len(test_list)]) #打印第一个元素

90 hello91 >>> print(test_list[len(test_list) - 1]) #打印最后一个元素

92 hongten93 >>> test_list.append(6) #向列表中追加一个元素

94 >>> print(test_list[-1])95 6

96 >>> test_list.insert(1,0)97 >>> print(test_list)98 ['hello', 0, 1, 2, 'world', 4, 5, 'hongten', 6]99 >>> #上面的操作是向列表test_list的小标为1的地方插入元素0

100 >>> test_list.insert(1,0)101 >>> print(test_list)102 ['hello', 0, 0, 1, 2, 'world', 4, 5, 'hongten', 6]103 >>> test_list.insert(2,1)104 >>> print(test_list)105 ['hello', 0, 1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]106 >>> print(test_list.pop(0)) #返回最后一个元素,并从test_list中删除之

107 hello108 >>> print(test_list)109 [0, 1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]110 >>> print(test_list.pop(2)) #上面的注释有错误,pop(index)的操作是返回数组下标为index的元素,并从列表中删除之

111 0112 >>> print(test_list)113 [0, 1, 1, 2, 'world', 4, 5, 'hongten', 6]114 >>> test_list.remove(1)115 >>> print(test_list)116 [0, 1, 2, 'world', 4, 5, 'hongten', 6]117 >>> #remove(1)表示的是删除第一次出现的元素1

118 >>> test_list.insert(0,1)119 >>> print(test_list)120 [1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]121 >>> test_list.remove(1)122 >>> print(test_list)123 [0, 1, 2, 'world', 4, 5, 'hongten', 6]124 >>> test_list.insert(2,"hongten")125 >>> print(test_list)126 [0, 1, 'hongten', 2, 'world', 4, 5, 'hongten', 6]127 >>> test_list.count("hongten")128 2

129 >>> #count(var)是统计var元素在列表中出现的个数

130 >>> test_list.count("foo")131 0132 >>> test_list_extend = ["a","b","c"]133 >>>test_list.extend(test_list_extend)134 >>> print(test_list)135 [0, 1, 'hongten', 2, 'world', 4, 5, 'hongten', 6, 'a', 'b', 'c']136 >>> #使用extend(list)作用是追加一个list到源list上面

137 >>> print(test_list.sort())138 Traceback (most recent call last):139 File "", line 1, in

140 print(test_list.sort())141 TypeError: unorderable types: str() >> test_list_extend.append("h")143 >>> test_lsit_extend.append("e")144 Traceback (most recent call last):145 File "", line 1, in

146 test_lsit_extend.append("e")147 NameError: name 'test_lsit_extend' is notdefined148 >>> list_a = ["e","z","o","r"]149 >>>list_a.extend(test_list_extend)150 >>> print(list_a)151 ['e', 'z', 'o', 'r', 'a', 'b', 'c', 'h']152 >>> print(list_a.sort()) #对list_a列表进行排序

153 None154 >>> #不知道为什么以上排序都有报错......

155 >>> list_b = [1,3,5,2,6,4]156 >>> print(list_b.sort())157 None158 >>> print(sort(list_b))159 Traceback (most recent call last):160 File "", line 1, in

161 print(sort(list_b))162 NameError: name 'sort' is notdefined163 >>> #不去管排序问题了,先看看删除操作吧!!!!!

164 >>> print(list_b)165 [1, 2, 3, 4, 5, 6]166 >>> print(del list_b[1])167 SyntaxError: invalid syntax168 >>> del list_b[1]169 >>> print(list_b)170 [1, 3, 4, 5, 6]171 >>> del list_b[0,2]172 Traceback (most recent call last):173 File "", line 1, in

174 del list_b[0,2]175 TypeError: list indices must be integers, nottuple176 >>> del list_b[0:2]177 >>> print(list_b)178 [4, 5, 6]179

180 >>> #del list[index]删除下标为index的元素,del list[start:end]删除从start下标开始到end下标结束的元素

181 >>> del list_b[10]182 Traceback (most recent call last):183 File "", line 1, in

184 del list_b[10]185 IndexError: list assignment index out of range186 >>> #如果我们删除的下标超出了列表的长度范围,就会报错啦!!!!!

187 >>> ##########################################################################

188 >>> list_c = range(5);189 >>> for c inlist_c:190 print(c)191

192

193 0194 1

195 2

196 3

197 4

198 >>> list_d =list_c199 >>> for d inlist_d:200 print(d)201

202

203 0204 1

205 2

206 3

207 4

208 >>> #上面是列表的复制

209 >>> list_d[2] = 23

210 Traceback (most recent call last):211 File "", line 1, in

212 list_d[2] = 23

213 TypeError: 'range' object does notsupport item assignment214 >>> list_e = [1,2,3,4,5]215 >>> list_f =list_e216 >>> list_f[2] = 234

217 >>> print(list_e)218 [1, 2, 234, 4, 5]219 >>> #从这里我们可以知道,list_f复制了list_e,list_f是对list_e的一个引用,

220 >>> #他们共同指向一个对象:[1,2,3,4,5],当我们视图修改list_f[2]的值的时候,

221 >>> #list_f所指向的对象的行为发生了变化,即元素值发生了变化,但是他们的引用是没有

222 >>> #发生变化的。所以list_e[2] = 234也是在情理之中。

223 >>> #######################################################################

224 >>> list_i =list_e[:]225 >>> print(list_i)226 [1, 2, 234, 4, 5]227 >>> print(list_e)228 [1, 2, 234, 4, 5]229 >>> list_i[2] = 3

230 >>> print(list_e)231 [1, 2, 234, 4, 5]232 >>> print(list_i)233 [1, 2, 3, 4, 5]234 >>> #上面是进行了列表的克隆操作,即拷贝了另一个列表,这样的操作,会创造出新的一个列表对象

235 >>> #使得list_i和list_e指向不同的对象,就有着不同的引用,所以当list_i[2] = 3的时候,

236 >>> #list_e[2]还是等于234,即不变

237 >>>


版权声明:本文为weixin_39522170原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。