3.列表与元组

1. 基本认识:
列表 :可以通过方括号括起、逗号分隔的一组值得到。一个 列表 可以包含不同类型的元素,但通常使用时各个元素类型相同,同时也支持索引和切片,以及拼接操作等

print(a[0])  # 1
print(a[-2:])  # [6, 7]
print(a[-4:-2])  # [3, 4]
print(a[:])  # [1, 3, 4, 6, 7]
print(a + [9, 10])  # [1, 3, 4, 6, 7, 9, 10]
a[4] = 10
print(a)  # [1, 3, 4, 6, 10]

注:可以与其他函数联用,如内置函数len()。

a.append(12)
print(a)  # [1, 3, 4, 6, 10, 12]
print(len(a))  # 6

2.列表更多特性:
(1)列表对象方法:
-list.append(x):在列表的末尾添加一个元素。相当于 a[len(a):] = [x]
-list.insert(i, x):在给定的位置插入一个元素
-list.remove(x):移除列表中第一个值为 x 的元素
-list.pop([i]):删除列表中给定位置的元素并返回它。如果没有给定位置,a.pop() 将会删除并返回列表中的最后一个元素。
-list.clear():删除列表中所有的元素。相当于 del a[:]
-list.index(x[, start[, end]]):返回列表中第一个值为 x 的元素的从零开始的索引。
-list.count(x):返回元素 x 在列表中出现的次数
-list.sort():对列表中的元素进行排序
-list.reverse():反转列表中的元素。
-list.copy():返回列表的一个浅拷贝。相当于 a[:]

a = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
print(a.count('apple'))  # 2
print(a.index('banana'))  # 3
print(a.index('banana', 4))  # 6
a.reverse()
print(a)  # ['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange']
a.append('grape')
print(a)  # ['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange', 'grape']
a.sort()
print(a)  # ['apple', 'apple', 'banana', 'banana', 'grape', 'kiwi', 'orange', 'pear']
print(a.pop())  # pear

(2)作为栈使用:
栈的规则即后进先出,根据上述所述,可以使用append(),以及pop()两种方法实现。
(3)作为队列使用:
队列的规则即先进先出,若要实现一个队列, collections.deque 被设计用于快速地从两端操作。

from collections import deque
a = deque(["Eric", "John", "Michael"])
a.append("Terry")
a.popleft()                 
print(a)  # deque(['John', 'Michael', 'Terry'])

(4)列表推导式:

squares = [x ** 2 for x in range(10)]
print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
squares = [(x, y) for x in [1, 2, 3] for y in [3, 1, 4] if x != y]
print(squares)  # [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
combs = []
for x in [1, 2, 3]:
    for y in [3, 1, 4]:
        if x != y:
            combs.append((x, y))
print(combs)  # [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值