Python学习(一)List

Python 和 Django

按照博主Hongten的记录学习一遍,Hongten博主地址

python安装教程:python安装教程

Django安装教程:Django安装教程

 

列表运行示例:

1

 1 >>> def create_empty_list():
 2     return []
 3 
 4 >>> def create_common_list():
 5     return ['a','b','c',1,3,5]
 6 
 7 >>> def create_common_list2():
 8     return [x for x in range(1,10)]
 9 
10 >>> def str_to_list(s):
11     if s != None:
12         return list(s)
13     else:
14         return []
15 
16     
17 >>> def main():
18     test_listA = create_empty_list()
19     print(test_listA)
20     print('#'*50)
21     test_listB = create_common_list()
22     print(test_listB)
23     print('#'*50)
24     test_listC = create_common_list2()
25     print(test_listC)
26     print('#'*50)
27     test_str = ' i want to talk'
28     test_listD = str_to_list(test_str)
29     print(test_listD)
30 
31     
32 >>> if __name__ == '__main__':
33     main ()
View Code

 

 list练习示例

 

2

>>> counter = 100
>>> miles = 1000.0
>>> name = "minglang"
>>> numberA,numberB,nameC = 1,2,"Minglang"
>>> list = [counter,miles,name,numberA,numberB,nameC]
>>> print (list)
[100, 1000.0, 'minglang', 1, 2, 'Minglang']
>>> #注释用"#"
>>> for element in list:
    print(element)

    
100
1000.0
minglang
1
2
Minglang
>>> print (list[0]) #获取列表list里的第一个元素值
100
>>> print (list[-1]) #获取列表list最后一个元素
Minglang
>>> print (len(list)) #获取list列表的长度
>>> num_inc_list = range(10)#range(10)产生一个从0到9数值递增的列表
>>> print (num_inc_list)
range(0, 10)
>>> for inc_list in num_inc_list:
    print(inc_list)

    
0
1
2
3
4
5
6
7
8
9
>>> 
View Code

 

 

3、用固定值初始化一个列表

#下面是用一个固定值initial_value去初始化一个列表myList
1 >>> initial_value = 10
2 >>> list_length = 5
3 >>> myList = [initial_value for i in range(10)]
4 >>> print(myList)
5 [10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
View Code

#用myList = myList * list_length去复制myList
 1 >>> list_length = 2
 2 >>> myList = myList * list_length
 3 >>> print(myList)
 4 [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
 5 >>> copyList = [1,2,3,"minglang"]
 6 >>> copyList = copyList * list_length
 7 >>> print(len(copyList))
 8 8
 9 >>> for c1 in copyList:
10     print(c1)
11 
12     
13 1
14 2
15 3
16 minglang
17 1
18 2
19 3
20 minglang
View Code

#在一个list中可以包含不同类型的元素,这个和ActionScript 3.0(AS3.0)中的数组类似
>>> test_list = ["hello",1,2,"world",4,5,"hongten"]
>>> print(len(test_list))
7
View Code

#打印第一个或最后一个元素
>>> test_list = ["hello",1,2,"world",4,5,"hongten"]
 77 >>> print(len(test_list))
 78 7
 79 >>> print(test_list[0]) # 打印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 "<pyshell#44>", line 1, in <module>
 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[len(test_list) - 1]) #打印最后一个元素
 92 hongten
View Code

#追加、插入、删除元素
 1 >>> test_list.insert(1,0)
 2  97 >>> print(test_list)
 3  98 ['hello', 0, 1, 2, 'world', 4, 5, 'hongten', 6]
 4  99 >>> #上面的操作是向列表test_list的小标为1的地方插入元素0
 5 100 >>> test_list.insert(1,0)
 6 101 >>> print(test_list)
 7 102 ['hello', 0, 0, 1, 2, 'world', 4, 5, 'hongten', 6]
 8 103 >>> test_list.insert(2,1)#插到到下标为2处一个1,原2处的元素后移
 9 104 >>> print(test_list)
10 105 ['hello', 0, 1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]
11 106 >>> print(test_list.pop(0)) #返回下标为0的元素,并从test_list中删除之
12 107 hello
13 108 >>> print(test_list)
14 109 [0, 1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]
15 110 >>> print(test_list.pop(2)) #pop(index)的操作是返回数组下标为index的元素,并从列表中删除之
16 111 0
17 112 >>> print(test_list)
18 113 [0, 1, 1, 2, 'world', 4, 5, 'hongten', 6]
19 114 >>> test_list.remove(1)
20 115 >>> print(test_list)
21 116 [0, 1, 2, 'world', 4, 5, 'hongten', 6]
22 117 >>> #remove(1)表示的是删除第一次出现的元素1
23 118 >>> test_list.insert(0,1)
24 119 >>> print(test_list)
25 120 [1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]
26 121 >>> test_list.remove(1)
27 122 >>> print(test_list)
28 123 [0, 1, 2, 'world', 4, 5, 'hongten', 6]
View Code

#统计元素个数
1 >>> test_list.insert(2,"hongten")
2 125 >>> print(test_list)
3 126 [0, 1, 'hongten', 2, 'world', 4, 5, 'hongten', 6]
4 127 >>> test_list.count("hongten")
5 128 2
6 129 >>> #count(var)是统计var元素在列表中出现的个数
7 130 >>> test_list.count("foo")
8 131 0
View Code

#元素追加
 1 >>> #使用extend(list)作用是追加一个list到源list上面
 2 >>> test_list_extend = ["a","b","c"]
 3 133 >>> test_list.extend(test_list_extend)
 4 134 >>> print(test_list)
 5 135 [0, 1, 'hongten', 2, 'world', 4, 5, 'hongten', 6, 'a', 'b', 'c']
 6 
 7 >>> test_list_extend.append("h")
 8 
 9 >>> list_a = ["e","z","o","r"]
10 149 >>> list_a.extend(test_list_extend)
11 150 >>> print(list_a)
12 151 ['e', 'z', 'o', 'r', 'a', 'b', 'c', 'h']
View Code

#删除操作
>>del list_b[0,2] 错误  
>>del list_b[0:2] 正确
 1  >>> #del list[index]删除下标为index的元素,del list[start:end]删除从start下标开始到end下标结束的元素
 2 >>> print(list_b)
 3 [1, 2, 3, 4, 5, 6]
 4 >>> print(del list_b[1]) #出错
 5 SyntaxError: invalid syntax
 6 >>> del list_b[1]
 7 >>> print(list_b)
 8 [1, 3, 4, 5, 6]
 9 >>> del list_b[0:2]
10 >>> print(list_b)
11 [4, 5, 6]
12 
13 >>> #删除的下标超出了列表的长度范围,就会报错
14 >>> del list_b[10]
15 Traceback (most recent call last):
16   File "<pyshell#42>", line 1, in <module>
17     del list_b[10]
18 IndexError: list assignment index out of range
View Code

#列表的复制
 1 >>> list_c = range(5);
 2 >>> for c in list_c:
 3      print(c)
 4 
 5      
 6 0
 7 1
 8 2
 9 3
10 4
11 >>> list_d = list_c
12 >>> for d in list_d:
13     print(d)
14 
15     
16 0
17 1
18 2
19 3
20 4
21 >>> #上面是列表的复制
22 
23 
24 >>> list_d[2]=23
25 Traceback (most recent call last):
26   File "<pyshell#53>", line 1, in <module>
27     list_d[2]=23
28 TypeError: 'range' object does not support item assignment
29 >>> list_e = [1,2,3,4,5]
30 >>> list_f = list_e
31 >>> list_f[2] = 234
32 >>> print(list_e)
33 [1, 2, 234, 4, 5]
34 >>> #从这里我们可以知道,list_f复制了list_e,list_f是对list_e的一个引用,
35 >>> #他们共同指向一个对象:[1,2,3,4,5],当我们视图修改list_f[2]的值的时候,
36 >>> #list_f所指向的对象的行为发生了变化,即元素值发生了变化,但是他们的引用是没有
37 >>> #发生变化的。所以list_e[2] = 234也是在情理之中。
View Code

 

 1 >>> list_i = list_e[:]
 2 >>> print(list_i)
 3 [1, 2, 234, 4, 5]
 4 >>> print(list_e)
 5 [1, 2, 234, 4, 5]
 6 >>> list_i[2] = 3
 7 >>> print(list_e)
 8 [1, 2, 234, 4, 5]
 9 >>> print(list_i)
10 [1, 2, 3, 4, 5]
11 >>> #上面是进行了列表的克隆操作,即拷贝了另一个列表,这样的操作,会创造出新的一个列表对象
12 >>> #使得list_i和list_e指向不同的对象,就有着不同的引用,所以当list_i[2] = 3的时候,
13 >>> #list_e[2]还是等于234,即不变
View Code

 

posted @ 2016-11-28 13:10  一罐热茶  阅读(214)  评论(0编辑  收藏  举报