python数据类型-列表
2016-12-01 15:48
459 查看
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
append在列表后面添加
a=[1,2,3,4,'s']
a.append(5)
print a
[1, 2, 3, 4, 's', 5]
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : ",list[2];
Value available at index 2 : 1997
del list1[2]
print list1
['physics', 'chemistry', 2000]
如下所示:
操作:
Python包含以下方法:
a=[1,2,3,'aa',5]
print max(a)
aa
a=[1,2,3,'aa','b','我',5]
print max(a)
我
a=[1,2,3,'aa','b',5]
print max(a)
b
1In [145]:
a=[1,2,3,'aa','b','我',5]
print a.count('aa')
1
a=[1,2,3,'aa','b','我',5]
print a.count(1)
1
a=[1,2,3,'aa','b','我',5]
print a.count(a)
0
a=[1,2,3]
b=[4,5]
a.extend(b)
print a
[1, 2, 3, 4, 5]
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
print a
print a.index('u')
[1, 2, 3, 4, 5, 'u']
5
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
#print a
#print a.index('u')
a.insert(2,'m')
print a
[1, 2, 'm', 3, 4, 5, 'u']
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
#print a
#print a.index('u')
a.insert(2,'m')
print a
a.pop(-3)
print a
[1, 2, 'm', 3, 4, 5, 'u']
[1, 2, 'm', 3, 5, 'u']
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
#print a
#print a.index('u')
a.insert(2,'m')
print a
a.pop(-3)
print a
a.remove('m')
print a
[1, 2, 'm', 3, 4, 5, 'u']
[1, 2, 'm', 3, 5, 'u']
[1, 2, 3, 5, 'u']
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
#print a
#print a.index('u')
a.insert(2,'m')
print a
a.pop(-3)
print a
a.remove('m')
print a
a.reverse()
print a
[1, 2, 'm', 3, 4, 5, 'u']
[1, 2, 'm', 3, 5, 'u']
[1, 2, 3, 5, 'u']
['u', 5, 3, 2, 1]
----------sort排序---------------------
一、基本形式
列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。
x =[4, 6, 2, 1, 7, 9]
#y=x
y = x[ : ]#通过分片操作将x的元素拷贝给y,不同于x=y是直接指向同一列表
print y
x.sort()
print x
print y
print sorted(y)#sorted返回一个有序的副本,并且类型总是列表
[4, 6, 2, 1, 7, 9]
[1, 2, 4, 6, 7, 9]
[4, 6, 2, 1, 7, 9]
[1, 2, 4, 6, 7, 9]
二、自定义比较函数
可以定义自己的比较函数,然后通过参数传递给sort方法:
def copm(x,y):#定义降序排列的函数
if x<y:
return 1
elif x>y:
return -1
else:
return 0
a=[1,3,2,4,0]
a.sort(copm)
print a
a.sort(cmp)#内建函数,升序排列
print a
[4, 3, 2, 1, 0]
[0, 1, 2, 3, 4]
三、可选参数
sort方法还有两个可选参数:key和reverse
1、key在使用时必须提供一个排序过程总调用的函数:
a=['q','qq','wew','0','w']
a.sort(key=len)
print a
2、reverse实现降序排序,需要提供一个布尔值:
a=[3,2,5,1]
a.sort(reverse = True)
print a
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"];
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
更新列表
你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:append在列表后面添加
a=[1,2,3,4,'s']
a.append(5)
print a
[1, 2, 3, 4, 's', 5]
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : ",list[2];
Value available at index 2 : 1997
删除列表元素
list1 = ['physics', 'chemistry', 1997, 2000];del list1[2]
print list1
['physics', 'chemistry', 2000]
Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下所示:
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 | 迭代 |
Python列表截取
Python的列表截取与字符串操作类型,如下所示:L = ['spam', 'Spam', 'SPAM!']
操作:
Python 表达式 | 结果 | 描述 |
---|---|---|
L[2] | 'SPAM!' | 读取列表中第三个元素 |
L[-2] | 'Spam' | 读取列表中倒数第二个元素 |
L[1:] | ['Spam', 'SPAM!'] | 从第二个元素开始截取列表 |
Python列表函数&方法
Python包含以下函数:序号 | 函数 |
---|---|
1 | cmp(list1, list2) 比较两个列表的元素 |
2 | len(list) 列表元素个数 |
3 | max(list),【字符串大于数字】 返回列表元素最大值 |
4 | min(list) 返回列表元素最小值 |
5 | list(seq)【未转成功?】 将元组转换为列表 |
序号 | 方法 |
---|---|
1 | list.append(obj) 在列表末尾添加新的对象 |
2 | list.count(obj) 统计某个元素在列表中出现的次数 |
3 | list.extend(seq)[该方法没有返回值,但会在已存在的列表中添加新的列表内容。,即不能直接print a.extend(b)] 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index, obj)[不能直接print a.insert(2,'m')] 将对象插入列表 |
6 | list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) 移除列表中某个值的第一个匹配项 |
8 | list.reverse() 反向列表中元素 |
9 | list.sort([func]) 对原列表进行排序 |
print max(a)
aa
a=[1,2,3,'aa','b','我',5]
print max(a)
我
a=[1,2,3,'aa','b',5]
print max(a)
b
1In [145]:
a=[1,2,3,'aa','b','我',5]
print a.count('aa')
1
a=[1,2,3,'aa','b','我',5]
print a.count(1)
1
a=[1,2,3,'aa','b','我',5]
print a.count(a)
0
a=[1,2,3]
b=[4,5]
a.extend(b)
print a
[1, 2, 3, 4, 5]
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
print a
print a.index('u')
[1, 2, 3, 4, 5, 'u']
5
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
#print a
#print a.index('u')
a.insert(2,'m')
print a
[1, 2, 'm', 3, 4, 5, 'u']
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
#print a
#print a.index('u')
a.insert(2,'m')
print a
a.pop(-3)
print a
[1, 2, 'm', 3, 4, 5, 'u']
[1, 2, 'm', 3, 5, 'u']
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
#print a
#print a.index('u')
a.insert(2,'m')
print a
a.pop(-3)
print a
a.remove('m')
print a
[1, 2, 'm', 3, 4, 5, 'u']
[1, 2, 'm', 3, 5, 'u']
[1, 2, 3, 5, 'u']
a=[1,2,3]
b=[4,5,'u']
a.extend(b)
#print a
#print a.index('u')
a.insert(2,'m')
print a
a.pop(-3)
print a
a.remove('m')
print a
a.reverse()
print a
[1, 2, 'm', 3, 4, 5, 'u']
[1, 2, 'm', 3, 5, 'u']
[1, 2, 3, 5, 'u']
['u', 5, 3, 2, 1]
----------sort排序---------------------
一、基本形式
列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。
x =[4, 6, 2, 1, 7, 9]
#y=x
y = x[ : ]#通过分片操作将x的元素拷贝给y,不同于x=y是直接指向同一列表
print y
x.sort()
print x
print y
print sorted(y)#sorted返回一个有序的副本,并且类型总是列表
[4, 6, 2, 1, 7, 9]
[1, 2, 4, 6, 7, 9]
[4, 6, 2, 1, 7, 9]
[1, 2, 4, 6, 7, 9]
二、自定义比较函数
可以定义自己的比较函数,然后通过参数传递给sort方法:
def copm(x,y):#定义降序排列的函数
if x<y:
return 1
elif x>y:
return -1
else:
return 0
a=[1,3,2,4,0]
a.sort(copm)
print a
a.sort(cmp)#内建函数,升序排列
print a
[4, 3, 2, 1, 0]
[0, 1, 2, 3, 4]
三、可选参数
sort方法还有两个可选参数:key和reverse
1、key在使用时必须提供一个排序过程总调用的函数:
a=['q','qq','wew','0','w']
a.sort(key=len)
print a
2、reverse实现降序排序,需要提供一个布尔值:
a=[3,2,5,1]
a.sort(reverse = True)
print a
相关文章推荐
- Python数据类型——序列(字符串,列表,元组)
- 【Python 3这件小事】2.内置数据类型(二)——列表和元组
- Python数据类型之列表
- Python核心数据类型(内置对象)—— 列表(list)
- Python 学习 (一) python的基本数据类型 元组 列表 字典
- Python核心数据类型——列表
- Python数据类型 -- 列表2
- Python数据类型判断及列表脚本操作
- Python数据类型list(列表)和tuple(元组)
- 小Y的Python学习日志--数据类型(列表,字典)
- Python数据类型之列表
- Python 列表 list 数据类型创建list、添加元素和删除元素
- Python的基本语法,涵盖数据类型、循环判断、列表、map和set等
- python 数据类型:列表和元组
- python内置数据类型:列表和元组
- Python基础(3) - 数据类型:3列表类型
- python 学习笔记(2)数据类型1 (bool型, 数值类型,lists列表类型)
- python学习---数据类型---列表
- Python数据类型详解(列表,元组,字典,日期)
- python 数据类型 序列——列表