创建一个列表:
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
列表索引从0开始,并列出可切片,连接等。
访问列表中的值,使用方括号沿切片带索引或索引来获得可用的索引对应的值。如:
#!/usr/bin/python
list1 = ['python', 'chemistry', 2006, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
当执行上面的代码,产生以下结果:
list1[0]: 'python'
list2[1:5]: [2, 3, 4, 5]
更新列表:
可以通过给切片赋值运算符的左边更新列表的单个或多个元素,如:
#!/usr/bin/python
list = ['python', 'chemistry', 2006, 2000];
print "Value available at index 2 : "
print list[2];
list[2] = 2002;
print "New value available at index 2 : "
print list[2];
当执行上面的代码,产生以下结果:
Value available at index 2 :
2006
New value available at index 2 :
2002
删除列表中的元素:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 2006, 2000];
print list1;
del list1[2];
print "After deleting value at index 2 : "
print list1;
当执行上面的代码,它会产生以下结果:
[python, 'chemistry', 2006, 2000]
After deleting value at index 2 :
[python, 'chemistry', 2000]
基本列表操作:
列出了 + 和 * 运算符就像字符串; 串联和重复字符串在这里也一样,不同的是,结果是一个新的列表,而不是一个字符串。
事实上,列表响应所有我们使用在字符串的一般操作顺序。
Python 表达式
结果
描述
len([1, 2, 3])
3
长度
[1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
串联
['Hi!'] * 4
['Hi!', 'Hi!', 'Hi!', 'Hi!']
重复
3 in [1, 2, 3]
True
成员
for x in [1, 2, 3]: print x
1 2 3
迭代
索引、切片、矩阵
因为列表序列,索引和切片的工作方式与他们对字符串操作类似。
假设下面输入:
L = ['spam', 'Spam', 'SPAM!']
Python 表达式
结果
描述
L[2]
'SPAM!'
偏移从零开始
L[-2]
'Spam'
负值:计数从右边
L[1:]
['Spam', 'SPAM!']
切取部分
内置列表的函数:
函数
描述
cmp(list1, list2)
比较两个列表的元素
len(list)
给出列表的总长度
max(list)
从列表中,项目的最大值
min(list)
从列表中,项目的最小值
list(seq)
一个元组到列表的转换
内置列表的方法
方法
描述
list.append(obj)
添加obj对象到列表
list.count(obj)
计算返回obj出现在列表的次数
list.extend(seq)
附加序列seq内容到列表
list.index(obj)
返回列表中出现obj的最小索引
list.insert(index, obj)
插入obj对象在列表偏移索引位置
list.pop(obj=list[-1])
移除并返回列表最后一个对象或obj
list.remove(obj)
从列表中移除obj对象
list.reverse()
反转列表的对象
list.sort([func])
排序列表中的对象,使用func比较(如果给定)