Python基础数据类型——列表

Posted Alice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础数据类型——列表相关的知识,希望对你有一定的参考价值。

一、定义

1、列表由一系列按特定顺序排列的元素组成;
2、用方括号[ ]表示列表,并用逗号分隔其中的元素。

二、属性

1、有序集合;
2、列表是可修改的。

三、操作

1、访问列表元素

  1. 索引
    要访问列表元素,可指出列表名称,再指出元素的索引,并将其放在方括号内

    # 请求获取列表元素时,python只返回该元素,不包括方括号和引号
    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    print(body[0].title())
    print(body[3])
  2. 访问列表最后一个元素
    不知道列表长度时访问最后的元素,可将索引指定为-1,索引-2返回倒数第二个列表元素,以此类推

    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    print(body[-1])
  3. index —— 在列表中查找第一次出现的索引

    colors = [\'red\',\'pink\',\'yellow\']
    print(colors.index(\'pink\'))

2、在列表中添加元素

  1. append() —— 在列表末尾添加元素

    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    body.append(\'face\')
    print(body)
  2. insert() —— 在列表中插入元素
    a、在列表任何位置添加新元素,需要指定新元素的索引和值,此操作会将列表中既有的每个元素都右移一个位置;
    b、方法insert用于将一个对象插入列表

    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    body.insert(0,\'face\')
    print(body)
  3. extend() —— 同时将多个值插入到列表末尾
    可将这些值组成的序列作为参数提供给方法extend。换言之,可使用一个列表来扩充另一个列表

    a = [1,2,3]
    b = [4,5,6]
    a.extend(b)
    print(a)

3、从列表中删除元素

  1. del
    a、若知道要删除元素在列表中的位置,可以使用del语句;
    b、使用del语句删除后,之后无法再访问该元素

    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    del body[3]
    print(body)
  2. pop()
    a、方法pop从列表中删除一个元素,并返回这一元素;
    b、pop是唯一既修改列表又返回一个非None值的列表方法
    c、pop()方法默认删除列表末尾的元素,并且还能继续使用该元素

    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    popped_body = body.pop()
    print(body)
    print(popped_body)

    d、弹出列表中任何位置处的元素--需要知道该元素的索引

    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    MyLove = body.pop(0)
    print(MyLove.title())
  3. remove()
    a、只知道要删除元素的值,不知道值所处的位置,使用remove();
    b、remove()从列表中删除元素时,也可以继续使用该元素的值;
    c、不同于pop,remove就地修改列表,但不返回任何值;
    d、remove()方法只删除第一个指定的值,如果要删除的值在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值

    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    body.remove(\'ear\')
    print(body)
  4. clear()
    就地情况列表内容,返回一个空列表

    body = [\'head\',\'eye\',\'ear\',\'mouth\']
    body.clear()
    print(body)

4、修改列表元素

# 可以修改任一列表元素的值,需要指定列表名、要修改元素的索引、再指定该元素的值
body = [\'head\',\'eye\',\'ear\',\'mouth\']
body[2] = \'face\'
print(body)

5、排序

  1. sort() —— 对列表永久性排序使用sort()方法
    方法sort用于对列表就地排序,即对原来的列表进行修改,使其元素按顺序排列,而不是返回排序后的列表的副本
    a)按照字母顺序排序

    tool = [\'ppt\',\'excel\',\'csv\',\'word\']
    tool.sort()
    print(tool)

    b)按照与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数reverse=True

    tool = [\'ppt\',\'excel\',\'csv\',\'word\']
    tool.sort(reverse=True)
    print(tool)
  2. sorted()
    sorted()可以按特定顺序显示列表元素,但不影响它们在列表中的元素排列顺序

    tool = [\'ppt\',\'excel\',\'csv\',\'word\']
    print(sorted(tool))
    print(tool)
  3. reverse()
    a、方法reverse按相反的顺序排列列表中的元素;
    b、永久性修改列表元素的排列顺序,但随时可以恢复到原来的排序,只需再次调用reverse()

    a = [1,2,3]
    print(a.reverse())

6、切片[ : ]
1)如没有指定第一个索引,将自动从列表开头开始提取;
2)要让列表终止于列表末尾,类似;
3)负数索引可以输出列表末尾的任何切片

colors = [\'red\',\'yellow\',\'white\',\'green\',\'pink\']
print(colors[0:3])
print(colors[1:4])
print(colors[:4])
print(colors[2:])
print(colors[-3:])

7、复制列表

  1. 切片[ : ]
    可创建一个包含整个列表的切片[ : ],即复制整个列表

    my_color = [\'red\',\'yellow\',\'white\',\'green\',\'pink\']
    your_color = my_color[:]
    print(my_color)
    print(your_color)
  2. copy

    a = [1,2,3]
    b = a.copy()
    b[1]=4
    print(a)
  3. list()

    a = [1,2,3]
    print(list(a))

8、遍历列表——for循环
a、for循环中,每行缩进的代码都是循环的一部分,且将针对列表中的每个值都执行一次;
b、for循环后,没有缩进的代码都只执行一次,而不会重复执行

colors = [\'red\',\'yellow\',\'white\']
for color in colors:
    print(color.title()+ \', is beautiful\')
    print(\'I love\'+\' \'+color.title())

9、其他列表方法

  1. count( )——计数
    方法count计算指定的元素在列表中出现了多少次

    colors = [\'red\',\'pink\',\'yellow\']
    print(colors.count(\'red\'))
  2. len( )——确定列表长度

    tool = [\'ppt\',\'excel\',\'csv\',\'word\']
    print(len(tool))
  3. range()——创建数字列表
    a、range()函数

    # 下例range()只打印1~4,从指定是第一个值开始数,并在达到指定的第二个值后停止,输出不包含第二个值
    for value in range(1,5):
     print(value)

    b、使用range()创建数字列表
    1)要创建数字列表,可使用函数list()将range()的结果直接转换成列表;
    2)如果将range()作为list()的参数,输出将作为一个数字列表;

    numbers = list(range(1,6))
    print(numbers)

    3)使用range()时,还可以指定步长

    numbers = list(range(2,11,2))
    print(numbers)

    4)使用range()几乎能创建任何需要的数字集

    # 创建一个列表,其中包含10个整数(即1~10)的平方
    squares = []
    for value in range(1,11):
     squares.append(value**2)
    print(squares)
  4. max()

    # 找出数字列表的最大值
    digits = [1,2,3,4,5]
    print(max(digits))
  5. sum()

    # 找出数字列表的总和
    digits = [1,2,3,4,5]
    print(sum(digits))
  6. list()——将序列转化为列表

以上是关于Python基础数据类型——列表的主要内容,如果未能解决你的问题,请参考以下文章

python基础之数据类型

python基础数据类型之列表

python基础数据类型--list列表

python基础之序列类型的方法——列表&元组

Python基础-python数据类型之列表

python基础--基本数据类型(List(列表)--可变数据)