Skip to content

序列类型-list,tuple,range

通用操作

运算 结果
x in s 如果 s 中的某项等于 x 则结果为 True,否则为 False
x not in s 如果 s 中的某项等于 x 则结果为 False,否则为 True
s + t st 相拼接
s * nn * s 相当于 s 与自身进行 n 次拼接
s[i] s 的第 i 项,起始为 0
s[i:j] sij 的切片
s[i:j:k] sij 步长为 k 的切片
len(s) s 的长度
min(s) s 的最小项
max(s) s 的最大项
s.index(x[, i[, j]]) xs 中首次出现项的索引号(索引号在 i 或其后且在 j 之前)
s.count(x) xs 中出现的总次数

list

list.append(x)
    # 在列表末尾添加一个元素,相当于 a[len(a):] = [x] 。
    a = [1, 2, 3, 4, 5]
    a.append('a')
    a.append(3)
    a.append([1, 2, 3])
    a.append({1, 2, 3})
    a.append((1, 2, 3))
    a.append({'b': 1})
    print(a)
    [1, 2, 3, 4, 5, 'a', 3, [1, 2, 3], {1, 2, 3}, (1, 2, 3), {'b': 1}]

    a[len(a):] = [10]


list.extend(iterable)
    # 用可迭代对象的元素扩展列表。相当于 a[len(a):] = iterable 。
    a = [1, 2, 3, 4, 5]
    a.extend('a')
    a.extend([1, 2, 3])
    a.extend({1, 2, 3})
    a.extend((1, 2, 3))
    a.extend({'b': 1})
    print(a)
    [1, 2, 3, 4, 5, 'a', 1, 2, 3, 1, 2, 3, 1, 2, 3, 'b']

    a[len(a):] = range(3)

list.insert(i, x)
    #在指定位置插入元素。第一个参数是插入元素的索引,因此,a.insert(0, x) 在列表开头插入元素, a.insert(len(a), x) 等同于 a.append(x) 。
    a = [1, 2, 3, 4, 5]
    a.insert(0, 'a')
    a.insert(0, [1, 2, 3])
    a.insert(0, {1, 2, 3})
    a.insert(0, (1, 2, 3))
    a.insert(0, {'b': 1})
    a.insert(0, 1)
    print(a)

    [1, {'b': 1}, (1, 2, 3), {1, 2, 3}, [1, 2, 3], 'a', 1, 2, 3, 4, 5]

list.remove(x)
    # 从列表中删除第一个值为 x 的元素。未找到指定元素时,触发 ValueError 异常。
    a = [1, 2, 3, 4, 5]
    a.remove(1)
    print(a)

    [2, 3, 4, 5]

list.pop([i])
    # 删除列表中指定位置的元素,并返回被删除的元素。未指定位置时,a.pop() 删除并返回列表的最后一个元素。(方法签名中 i 两边的方括号表示该参数是可选的,不是要求输入方括号。这种表示法常见于 Python 参考库)。
    a = [1, 2, 3, 4, 5]
    p = a.pop()  # 默认删除最后一个
    print(p)
    print(a)

    5
    [1, 2, 3, 4]

    p = a.pop(2)  # 可以给出下标
    print(p)
    print(a)

    3
    [1, 2, 4, 5]


list.clear()
    # 删除列表里的所有元素,相当于 del a[:] 。

    a = [1, 2, 3, 4, 5]
    a.clear()
    print(a)

    []

    del a[:]
    print(a)

    []

list.index(x[, start[, end]])
    # 返回列表中第一个值为 x 的元素的零基索引。未找到指定元素时,触发 ValueError 异常。
    # 可选参数 start 和 end 是切片符号,用于将搜索限制为列表的特定子序列。返回的索引是相对于整个序列的开始计算的,而不是 start 参数。
    a = [1, 1, 1, 2, 3, 4, 1]
    print(a.index(1))
    print(a.index(1, 2, 10))
    0
    2

list.count(x)
    # 返回列表中元素 x 出现的次数。
    a = [1, 1, 1, 2, 3, 4, 1]
    print(a.count(1))
    print(a.count(2))
    4
    1

list.sort(*, key=None, reverse=False)
    # 就地排序列表中的元素(要了解自定义排序参数,详见 sorted())。
    a = [1, 1, 1, 2, 3, 4, 1]
    a.sort()
    print(a)

    [1, 1, 1, 1, 2, 3, 4]

    a.sort(reverse=True)
    print(a)

    [4, 3, 2, 1, 1, 1, 1]


list.reverse()
    # 翻转列表中的元素。
    a = [1, 2, 3, 'a', 'b', 'c']
    a.reverse()
    print(a)

    ['c', 'b', 'a', 3, 2, 1]


list.copy()
    # 返回列表的浅拷贝。相当于a[:]。
    a = [1, 2, 3, 'a', 'b', 'c']
    print(id(a))
    a1 = a.copy()
    print(a1)
    print(id(a1))

    1576055219456  # 浅拷贝不指向同一内存地址
    [1, 2, 3, 'a', 'b', 'c']
    1576055172480  # 浅拷贝不指向同一内存地址

tuple

['count', 'index']

t = 1, 2, 3, 1, 1

print(type(t))
print(t.count(1))
print(t.index(2))

range

内置函数 range() 用于生成等差数列

等差数列是一种常见的数列形式,它的特点是任意两个相邻项的差都相等。

for i in range(5):
    print(i)

0
1
2
3
4

range(5, 10)
   5, 6, 7, 8, 9

range(0, 10, 3)
   0, 3, 6, 9

range(-10, -100, -30)
  -10, -40, -70
a = ['Mary', 'had', 'a', 'little', 'lamb']
for i in range(len(a)):
    print(i, a[i])

0 Mary
1 had
2 a
3 little
4 lamb

enumerate()
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]


sum(range(101))
5050

list(range(5))
[0, 1, 2, 3, 4]