9.列表的使用 (1)append方法 说明: append(x) append方法用于在列表的尾部追加元素,参数x是插入元素的值。 举例: #coding:utf-8 test1 = [3,4,6,7,"Hello World"] test1.append(3.9) print test1 #reslut = [3,
9.列表的使用
(1)append方法
说明: append(x) append方法用于在列表的尾部追加元素,参数x是插入元素的值。
举例:
#coding:utf-8
test1 = [3,4,6,7,"Hello World"]
test1.append(3.9)
print test1 #reslut = [3, 4, 6, 7, 'Hello World', 3.8999999999999999]
(2)insert方法
说明: insert(index,value) insert方法用于在列表中插入元素。它有两个参数,index参数是索引位置,value参数是插入元素的值。
举例:
#coding:utf-8
test1 = [3,4,6,7,"Hello World"]
test1.insert(2, "insert Here")
print test1 #result = [3, 4, 'insert Here', 6, 7, 'Hello World']
(3)extend方法
说明: list1.extend(list2) extend方法用于将两个列表合并,将list2列表的值添加到list1列表的后面。
举例:
#coding:utf-8
test1 = [1,2,3,4]
test2 = [5,6,7,8]
print test1 #result = [1, 2, 3, 4]
test1.extend(test2)
print test1 #result = [1, 2, 3, 4, 5, 6, 7, 8
(4)index方法
说明: index(element) index方法用于取得element(元素)第一次出现的索引值
举例:
#coding:utf-8
test1 = [1,2,3,4]
print test1.index(1) #result = 0
test2 = [1,1,1,1]
print test2.index(1) #result = 0
#如果element是一个不存在的值,就会出现错误提示
print test2.index(2) #ValueError: list.index(x): x not in list
(5)remove方法
说明: remove(element) remove方法用于从列表中移除第一次的值。
举例:
#coding:utf-8
test1 = ['One','Two','Three','Four','Five']
print test1 #result = ['One', 'Two', 'Three', 'Four', 'Five']
test1.remove('Two')
print test1 #result = ['One', 'Three', 'Four', 'Five']
#如果移除一个不存在的值,就会引发一个错误
test1.remove('Six')
print test1 #ValueError: list.remove(x): x not in list
(6)pop方法
说明:pop() pop方法用于删除列表中最后一个元素
举例:
#coding:utf-8
test1 = ['One','Two','Three','Four','Five']
test1.pop()
print test1 #result = ['One', 'Two', 'Three', 'Four']
#如果试图对一个空列表使用pop方法,则会引发一个错误!
test2 = []
test2.pop() #IndexError: pop from empty list
1、list:列表(即动态数组,C++标准库的vector,但可含不同类型的元素于一个list中)
a = ["I","you","he","she"] #元素可为任何类型。
下标:按下标读写,就当作数组处理
以0开始,有负下标的使用
0第一个元素,-1最后一个元素,
-len第一个元 素,len-1最后一个元素
取list的元素数量
len(list) #list的长度。实际该方法是调用了此对象的__len__(self)方法。
创建连续的list
L = range(1,5) #即 L=[1,2,3,4],不含最后一个元素
L = range(1, 10, 2) #即 L=[1, 3, 5, 7, 9]
list的方法
L.append(var) #追加元素
L.insert(index,var)
L.pop(var) #返回最后一个元素,并从list中删除之
L.remove(var) #删除第一次出现的该元素
L.count(var) #该元素在列表中出现的个数
L.index(var) #该元素的位置,无则抛异常
L.extend(list) #追加list,即合并list到L上
L.sort() #排序
L.reverse() #倒序
list 操作符:,+,*,关键字del
a[1:] #片段操作符,用于子list的提取
[1,2]+[3,4] #为[1,2,3,4]。同extend()
[2]*4 #为[2,2,2,2]
del L[1] #删除指定下标的元素
del L[1:3] #删除指定下标范围的元素
list的复制
L1 = L #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传递的
L1 = L[:] #L1为L的克隆,即另一个拷贝。
list comprehension
[ <expr1> for k in L if <expr2> ]1.列表按列排序 list sorted
如果列表的每个元素都是一个元组(tuple),我们要根据元组的某列来排序的化,可参考如下方法
下面例子我们是根据元组的第2列和第3列数据来排序的,而且是倒序(reverse=True)
a = [('2011-03-17', '2.26', 6429600, '0.0'), ('2011-03-16', '2.26', 12036900, '-3.0'), ('2011-03-15', '2.33', 15615500,'-19.1')]
print a[0][0]
2011-03-17
b = sorted(a, key=lambda result: result[1],reverse=True)
print b
[('2011-03-15', '2.33', 15615500, '-19.1'), ('2011-03-17', '2.26', 6429600, '0.0'), ('2011-03-16', '2.26', 12036900, '-3.0')]
c = sorted(a, key=lambda result: result[2],reverse=True)
print c
[('2011-03-15', '2.33', 15615500, '-19.1'), ('2011-03-16', '2.26', 12036900, '-3.0'), ('2011-03-17', '2.26', 6429600, '0.0')]
2.列表去重 set(list)
有时候需要将list中重复的元素删除,就要使用如下方法
lst= [(1,'sss'),(2,'fsdf'),(1,'sss'),(3,'fd')]
set(lst)
set([(2, 'fsdf'), (3, 'fd'), (1, 'sss')])
lst = [1, 1, 3, 4, 4, 5, 6, 7, 6]
set(lst)
set([1, 3, 4, 5, 6, 7])
Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构。
创建列表
sample_list = ['a',1,('a','b')]
Python 列表操作
sample_list = ['a','b',0,1,3]
得到列表中的某一个值
value_start = sample_list[0]
end_value = sample_list[-1]
删除列表的第一个值
del sample_list[0]
在列表中插入一个值
sample_list[0:0] = ['sample value']
得到列表的长度
list_length = len(sample_list)
列表遍历
for element in sample_list:
print(element)Python 列表高级操作/技巧
产生一个数值递增列表
num_inc_list = range(30)
#will return a list [0,1,2,...,29]
用某个固定值初始化列表
initial_value = 0
list_length = 5
sample_list = [ initial_value for i in range(10)]
sample_list = [initial_value]*list_length
# sample_list ==[0,0,0,0,0]