Python编程——列表的定义和操作

Python的四种基本的数据结构有:列表,元组,字典和集合。

其中列表是最常见的数据类型,在下面的这篇文章中,将着重介绍列表的定义,特征,遍历和常见的操作。

1.  列表的定义和创建

  • 在列表中,列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
  • 列表的格式:列表名=[元素1,元素2,元素3...]
  • 空列表的定义:my_list = [](常用)    或    my_list = list()

2. 列表最显著的特征

  • 列表中每个元素都是可变的;
  • 列表中的元素都是有序的,即每个元素都有一个位置(即索引,索引从0开始);
  • 列表可以容纳Python中的任何对象。

3. 列表的常见操作

3.1 > 查找列表中的元素:

my_list=[1,2,'list',3.14,True]
#打印索引为1,列表中第二个元素
print(my_list[1])
#打印列表中最后一个元素
print(my_list[-1])
#打印列表中索引为2之前的元素,即列表中第一个第二个元素
print(my_list[:2])
#打印索引为1和之后的元素(:包括前面不包括后面的索引)
print(my_list[1:])
#打印索引为2,3 的元素
print(my_list[2:4])


结果如下:
2
True
[1, 2]
[2, 'list', 3.14, True]
['list', 3.14]

3.2 > 增加列表中的元素(append,insert,extend):

append:使用append()方法添加列表元素,是在列表的末尾以追加的方式添加列表项

my_list=[1,2,'list',3.14,True]
my_list.append(666)
print(my_list)
my_list.append(['yaoyao',20])
print(my_list)


结果如下:
[1, 2, 'list', 3.14, True, 666]
[1, 2, 'list', 3.14, True, 666, ['yaoyao', 20]]

insert:使用insert()方法可以实现在列表在的指定位置增加元素;如果指定的位置不存在,默认会增加在列表末尾。

my_list=[1,2,'list',3.14,True]
my_list.insert(0,666)
print(my_list)
my_list.insert(1,['yaoyao',20])
print(my_list)


结果如下:
[666, 1, 2, 'list', 3.14, True]
[666, ['yaoyao', 20], 1, 2, 'list', 3.14, True]

 extend:可以使用extend()方法实现向一个列表中一次添加多个元素。

my_list1=[1,2,'list',3.14,True]
my_list2=[1,2,'list',3.14,True]
my_list1.extend(my_list2)
print(my_list1)


结果如下:
[1, 2, 'list', 3.14, True, 1, 2, 'list', 3.14, True]

3.3 > 修改列表中的元素:

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改。

my_list1=[1,2,'list',3.14,True]
#对列表中的第一个元素进行修改
my_list1[0]=666
print(my_list1)


结果如下:
[666, 2, 'list', 3.14, True]

3.4 > 修改列表中的元素(del,pop,remove):

del: 根据元素的下标,对元素进行删除

my_list1=[1,2,'list',3.14,True]
#删除索引为0的元素
del my_list1[0]
print(my_list1)


结果如下:
[2, 'list', 3.14, True]

pop:默认删除最后一个元素

my_list1=[1,2,'list',3.14,True]
#删除最后一个元素
my_list1.pop()
print(my_list1)
#删除索引为0的元素
my_list1.pop(0)
print(my_list1)


结果如下:
[1, 2, 'list', 3.14]
[2, 'list', 3.14]

remove:根据元素的值进行删除

my_list1=[1,2,'list',3.14,True]
#删除3.14这个值
my_list1.remove(3.14)
print(my_list1)


结果如下:
[1, 2, 'list', True]

4. 列表的常用操作符

  • len()可以求取列表的长度 
  • + 号用于组合列表,* 号用于重复列表
  • in,not in判断元素是否在列表中
  • for x in [1, 2, 3]: print x 列表的遍历
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 遍历

5. 列表的排序

# 定义一个列表
my_list = [1, 10, 3, 4, 2, 7]
# sort #升序 sort(reverse=False)等价于sort()
my_list.sort()
print(my_list)
# sort(reverse=True)降序
my_list.sort(reverse=True)
print(my_list)
#逆置
ret = reversed(my_list)
print(list(ret))


结果如下:
[1, 2, 3, 4, 7, 10]
[10, 7, 4, 3, 2, 1]
[1, 2, 3, 4, 7, 10]

6. 列表的其他形式

  • 创建一个列表 里面的元素分别为1,2,3,...10
  • 创建一个列表 里面的元素分别是1-10中的偶数
  • 列表中有多个元素 每个元素的类型为元组 有两个元素 
  • 实现分组一个 list 里面的元素,比如 [1,2,3],...15]变成 [[1,2,3],[4,5,6]....]
#创建一个列表 里面的元素分别为1,2,3,...10
my_list = [i for i in range(1,11)]
print(my_list)

#创建一个列表 里面的元素分别是1-10中的偶数
my_list = [i for i in range(1,11) if i % 2 == 0]
print(my_list)

#列表中有多个元素 每个元素的类型为元组 有两个元素 
my_list = [(i,j) for i in range(1,3) for j in range(0,3)]
print(my_list)

#实现分组一个 list 里面的元素,比如 [1,2,3],...15]变成 [[1,2,3],[4,5,6]....]
a = [x for x in range(1,15)]
b = [a[x:x+3] for x in range(0,len(a),3)]
print(b)


结果如下:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 4, 6, 8, 10]
[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14]]

 

展开阅读全文

没有更多推荐了,返回首页