白森 发表于 2015-4-22 08:33:06

python开发_python中的list操作

  对python中list的操作,大家可以参考:
  Python list 操作
  以下是我个人的笔记:
  ============================================
  Add by Hongten 2013-08-14
  ============================================



1 #python list
2 '''
3   创建list有很多方法:
4
5   1.使用一对方括号创建一个空的list:[]
6   2.使用一对方括号,用','隔开里面的元素:,
7   3.Using a list comprehension:
8   4.Using the type constructor:list() or list(iterable)
9   
10 '''
11
12 def create_empty_list():
13   '''Using a pair of square brackets to denote the empty list: [].'''
14   return []
15
16 def create_common_list():
17   '''Using square brackets, separating items with commas: , .'''
18   return ['a', 'b', 'c', 1, 3, 5]
19
20
21 def create_common_list2():
22   '''Using a list comprehension: .'''
23   return
24
25 def str_to_list(s):
26   '''Using a string to convert list'''
27   if s != None:
28         return list(s)
29   else:
30         return []
31
32 def main():
33   test_listA = create_empty_list()
34   print(test_listA)
35   print('#' * 50)
36   test_listB = create_common_list()
37   print(test_listB)
38   print('#' * 50)
39   test_listC = create_common_list2()
40   print(test_listC)
41   print('#' * 50)
42   test_str = 'i want to talk about this problem!'
43   test_listD = str_to_list(test_str)
44   print(test_listD)
45
46
47 if __name__ == '__main__':
48   main()
  
  运行效果:



Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
[]
##################################################
['a', 'b', 'c', 1, 3, 5]
##################################################

##################################################
['i', ' ', 'w', 'a', 'n', 't', ' ', 't', 'o', ' ', 't', 'a', 'l', 'k', ' ', 'a', 'b', 'o', 'u', 't', ' ', 't', 'h', 'i', 's', ' ', 'p', 'r', 'o', 'b', 'l', 'e', 'm', '!']
>>>
  下面有更多的demo:
  



1 Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) on win32
2 Type "copyright", "credits" or "license()" for more information.
3 >>> counter = 100
4 >>> miles = 1000.0
5 >>> name = "hongten"
6 >>> numberA,numberB,nameC = 1,2,"Hongten"
7 >>> list =
8 >>> print(list)
9
10 >>> #这是注释部分,注释用"#"开始
11 >>> for element in list:
12   print(element)
13
14 100
15 1000.0
16 hongten
17 1
18 2
19 Hongten
20 >>> #上面是遍历列表list
21 >>> print(list) #获取列表list里面的第一个元素值
22 100
23 >>> print(list[-1]) #获取列表list里面的最后一个元素值
24 Hongten
25 >>> 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 in num_inc_list:
31   print(inc_list)
32
33 0
34 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 =
47 >>> print(myList)
48
49 >>> list_length = 2
50 >>> myList = myList * list_length
51 >>> print(myList)
52
53 >>> print(len(myList))
54 20
55 >>> #上面是用一个固定值initial_value去初始化一个列表myList
56 >>> #同时用myList = myList * list_length去复制myList
57 >>> #下面再看看复制的效果
58 >>> copyList =
59 >>> copyList = copyList * list_length
60 >>> print(len(copyList))
61 8
62 >>> for cl in copyList:
63   print(cl)
64
65   
66 1
67 2
68 3
69 hongten
70 1
71 2
72 3
73 hongten
74 >>> #下面我们来仔细研究一下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) # 打印test_list
80 hello
81 >>> #打印test_list中的第一元素
82 >>> print(test_list[-1]) #打印test_list中最后一个元素
83 hongten
84 >>> 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 hello
91 >>> print(test_list) #打印最后一个元素
92 hongten
93 >>> 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 hello
108 >>> print(test_list)
109
110 >>> print(test_list.pop(2)) #上面的注释有错误,pop(index)的操作是返回数组下标为index的元素,并从列表中删除之
111 0
112 >>> print(test_list)
113
114 >>> test_list.remove(1)
115 >>> print(test_list)
116
117 >>> #remove(1)表示的是删除第一次出现的元素1
118 >>> test_list.insert(0,1)
119 >>> print(test_list)
120
121 >>> test_list.remove(1)
122 >>> print(test_list)
123
124 >>> test_list.insert(2,"hongten")
125 >>> print(test_list)
126
127 >>> test_list.count("hongten")
128 2
129 >>> #count(var)是统计var元素在列表中出现的个数
130 >>> test_list.count("foo")
131 0
132 >>> test_list_extend = ["a","b","c"]
133 >>> test_list.extend(test_list_extend)
134 >>> print(test_list)
135
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() < int()
142 >>> 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 not defined
148 >>> 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 None
154 >>> #不知道为什么以上排序都有报错......
155 >>> list_b =
156 >>> print(list_b.sort())
157 None
158 >>> 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 not defined
163 >>> #不去管排序问题了,先看看删除操作吧!!!!!
164 >>> print(list_b)
165
166 >>> print(del list_b)
167 SyntaxError: invalid syntax
168 >>> del list_b
169 >>> print(list_b)
170
171 >>> del list_b
172 Traceback (most recent call last):
173   File "", line 1, in
174   del list_b
175 TypeError: list indices must be integers, not tuple
176 >>> del list_b
177 >>> print(list_b)
178
179
180 >>> #del list删除下标为index的元素,del list删除从start下标开始到end下标结束的元素
181 >>> del list_b
182 Traceback (most recent call last):
183   File "", line 1, in
184   del list_b
185 IndexError: list assignment index out of range
186 >>> #如果我们删除的下标超出了列表的长度范围,就会报错啦!!!!!
187 >>> ##########################################################################
188 >>> list_c = range(5);
189 >>> for c in list_c:
190   print(c)
191
192   
193 0
194 1
195 2
196 3
197 4
198 >>> list_d = list_c
199 >>> for d in list_d:
200   print(d)
201
202   
203 0
204 1
205 2
206 3
207 4
208 >>> #上面是列表的复制
209 >>> list_d = 23
210 Traceback (most recent call last):
211   File "", line 1, in
212   list_d = 23
213 TypeError: 'range' object does not support item assignment
214 >>> list_e =
215 >>> list_f = list_e
216 >>> list_f = 234
217 >>> print(list_e)
218
219 >>> #从这里我们可以知道,list_f复制了list_e,list_f是对list_e的一个引用,
220 >>> #他们共同指向一个对象:,当我们视图修改list_f的值的时候,
221 >>> #list_f所指向的对象的行为发生了变化,即元素值发生了变化,但是他们的引用是没有
222 >>> #发生变化的。所以list_e = 234也是在情理之中。
223 >>> #######################################################################
224 >>> list_i = list_e[:]
225 >>> print(list_i)
226
227 >>> print(list_e)
228
229 >>> list_i = 3
230 >>> print(list_e)
231
232 >>> print(list_i)
233
234 >>> #上面是进行了列表的克隆操作,即拷贝了另一个列表,这样的操作,会创造出新的一个列表对象
235 >>> #使得list_i和list_e指向不同的对象,就有着不同的引用,所以当list_i = 3的时候,
236 >>> #list_e还是等于234,即不变
237 >>>
  
页: [1]
查看完整版本: python开发_python中的list操作