目录

2.1 列表list

1)切片、索引

2)append、extend、insert

3)index、count

4)len、sum、max、min

5)sort、reverse

6)加法(合并)和乘法(重复)

7)列表解析式


2.1 列表list

1)切片、索引

  • 索引

    列表是一种有序的数据结构,可以存储任意类型的元素。列表中的元素可以通过索引进行访问,索引从 0 开始,表示列表中的第一个元素,依次类推。

  • 切片

    list[start:end:step]
    ​
    倒序:
    list[::-1]

2)append、extend、insert

  • append

    在列表末尾添加一个元素,不能直接添加多个。

    list.appen(obj)
  • extend

    在列表末尾添加另一个列表中的所有元素,即添加列表。

    list.extend(iterable)
  • insert

    在列表的指定位置插入一个元素。

    list.insert(index,obj)

3)index、count

  • index

    返回列表中指定元素第一次出现的索引,如果该元素不存在于列表中,则抛出 ValueError 异常。

    fruits = ['apple', 'banana', 'cherry', 'banana']
    print(fruits.index('banana'))  # 输出 1
  • count

    返回列表中指定元素出现的次数。

    fruits = ['apple', 'banana', 'cherry', 'banana']
    print(fruits.count('banana'))  # 输出 2

4)len、sum、max、min

  • len

    返回对象(如字符串、列表、元组等)的长度或元素个数。

  • sum

    对可迭代对象中的元素进行求和操作。例如,sum([1, 2, 3]) 的结果为 6。

  • max

    返回可迭代对象中的最大值。

  • min

    返回可迭代对象中的最小值。

5)sort、reverse

  • sort

    nums.sort() # 升序
    nums.sort(reverse=True) # 倒叙
  • reverse

    可以对列表对象进行反转,将列表中的元素按照相反的顺序排列。

    >>> nums = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
    >>> nums.reverse()
    >>> print(nums)
    [5, 3, 5, 6, 2, 9, 5, 1, 4, 1, 3]
  • lambda函数的自定义规则排序

    参数key:该参数接受一个函数,用于指定排序的规则。

    lambda函数可以方便地定义这样的规则。

    my_list = ["3345", "14", "4765", "1", "598765", "9", "28765"]
    my_list.sort(reverse=True, key=lambda x: len(x))
    print(my_list)
    >>['598765', '28765', '3345', '4765', '14', '1', '9']
    my_list = ["apple", "banana", "cherry", "date", "elderberry", "fig"]
    my_list.sort(key=lambda x: len(x))
    print(my_list)

6)加法(合并)和乘法(重复)

  • 加法

    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    combined_list = list1 + list2
    print(combined_list) # 输出 [1, 2, 3, 4, 5, 6]
  • 乘法

    list1 = [1, 2, 3]
    repeated_list = list1 * 3
    print(repeated_list) # 输出 [1, 2, 3, 1, 2, 3, 1, 2, 3]

7)列表解析式

  • 语法:

    [expression for item in iterable if condition]
  • 具体来说,列表解析式的执行过程如下:

    1. 遍历iterable中的每一个元素,将其赋值给变量item;

    2. 对于满足条件condition的元素,求解表达式expression并将结果添加到新列表中;

    3. 返回新列表。

  • 例:

    # 生成一个1到10的平方的列表
    squares = [x*x for x in range(1, 11)]
    print(squares) # 输出 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    ​
    # 生成一个1到10的偶数的列表
    evens = [x for x in range(1, 11) if x % 2 == 0]
    print(evens) # 输出 [2, 4, 6, 8, 10]
    ​
    # 生成一个字符串列表,其中每个字符串是原列表中对应元素的首字母
    words = ['apple', 'banana', 'cherry']
    first_letters = [word[0] for word in words]
    print(first_letters) # 输出 ['a', 'b', 'c']
06-07 17:13