python列表知识点复习

微信扫一扫,分享到朋友圈

python列表知识点复习
收藏 00

列表的创建

1. 一维列表的创建

创建一个空列表的3种方法

# 使用list函数可以直接创建一个空列表
list1 = list()
# 使用[]创建一个空列表, 推荐使用的方法,最简单方便
list2 = []
# 使用字符串的split方法创建一个空列表
list3 = "".split()

创建自定义的列表

# 每个列表元素之间是使用英文的逗号隔开的
list1 = [1,2,3,4]
list2 = ['a', 'b', 'c']
list3 = [1, '2', 'a', 4.5, '你好']
list4 = "abcd".split()
list5 = list('1234abcd')

python的同一个列表里面可以包含任何的数据类型,也就是说,一个列表里面可以同时有数字,字符 串,列表,元组,字典,集合,类……

2. 多维列表的创建

多维列表其实就是列表里面嵌套列表

list1 = [[1,2,3,4], ['a', 'b', 'c', 'd']]

3. 使用列表推导式(解析式)创建列表

list1 = [x for x in range(5)]

列表的访问

列表是序列类型,因此列表的成员是可以通过下标来访问的。

1. 一维列表的元素访问

list1 = [1, 2, 3, 4, 5]
list1[0]

2. 二维列表的元素访问

list1 = [[1, 2, 3, 4, 5], ['a', 'b', 'c']]
list1[0][1]
list1[1][2]

3. 使用for循环来遍历列表(先简单的了解for循环,知道怎么用for循环来遍历即可)

list1 = [1, 2, 3, 4, 5]
for i in list1:
print i

4. 使用pop方法来获取列表中的元素

list1 = [1, 2, 3, 4, 5]
list1.pop()

pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

语法:list.pop(obj=list[-1])       //默认为 index=-1,删除最后一个列表值。

obj — 可选参数,要移除列表元素的对象。该方法返回从列表中移除的元素对象。

列表的相关操作

列表是可变类型,因此列表中的元素是可以修改的,修改列表元素并不会改变列表所在的内存地址

1. 列表的修改

# 通过下标的方式修改列表的值
list1 = [1,2,3,4]
list1[0] = 5
# 通过切片的方式修改列表的值,注意:使用切片的方式修改的时候,右值必须是可迭代类型(能用for循环遍历的)
# 目前已经学习的可迭代类型有:字符串、列表
list1[1:3] = [666]

2. 往列表里面追加元素

list1 = []
# 使用append方法往列表里面添加元素
# append方法会把你给的数据当成是一个元素
list1.append(1)
# 使用insert方法往列表中指定的位置添加元素
list1.insert(1, 'a')

3. 扩展列表(将另一个列表中的元素扩展进来)

list1 = [1,2,3,4]
list2 = ['a', 'b', 'c', 'd']
# 使用extend方法可以将另一个列表中的元素全部添加到列表中
list1.extend(list2)

4. 删除列表中的元素

# 使用pop方法删除列表中的元素,pop方法会返回被删除的元素
list1 = [1, 2, 3, 4, 5]
# 默认删除最后一个
list1.pop()
# 删除指定位置的元素, 这里删除的是下标为2的元素
list1.pop(2)
# 使用remove方法删除指定元素,remove方法不会返回被删除的元素
list1.remove(2) # 把2从list1中删除

5. 列表排序

# 使用列表内置的sort方法对列表进行排序,一般需要排序的列表都应该是由同一种元素组成的列表
# 因为不同类型的元素之间排序是没有什么意义的
list1 = [4, 1, 3, 6, 2, 5]
# sort方法默认是升序排列
list1.sort()
# 可以使用reverse方法或者在sort方法中指定reverse参数值为True将列表倒序
list1.reverse()
list1.sort(reverse=True)
# 当然,还可以指定sort方法中的cmp参数的返回值为-1对列表进行倒序,但是比较麻烦而已
list1.sort(cmp=lambda x, y: -1)
# 使用python的内置sorted方法对列表进行排序, 参数的意义跟列表的sort一样的
list2 = sorted(list1)

切片操作

  • [:] 得到整个列表中的所有元素
  • [:end] 得到从开始到end-1的所有元素
  • [start:] 得到从start开始到结束的所有元素
  • [start: end] 得到从start到end-1的所有元素
  • [start: end: step] 从start到end中每隔step取一个元素

后续扩展

一次开发中需要对列表里面的每个元素加前后缀构造成url形式可以使用以下函数

def make_great(names):
    # 对原列表进行遍历
    while names:
        # 对每个列表元素进行出栈操做,并在前面添加字符串,并保存在当前变量中
        current_name = 'the Great ' + names.pop() 
        # 把当前变量保存在新列表中
        new_names.append(current_name)
        
    return new_names # 返回新列表

new_names = []
names = ['Ann', 'Bob', 'Cindy']
new_names = make_great(names)

 

一个热爱互联网的咸鱼
上一篇

什么是爬虫?彻底了解网络爬虫

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

热门

    抱歉,30天内未发布文章!
返回顶部