第三章 Python容器:列表、元组、字典与集合

3.1 列表和元组

除字符串以外,Python还有另外两种序列结构:元组和列表。他们都可以包换0个或多个元素,元组并不要求所含元素的种类相同,每个元素可以是各种类型的Python对象。
元组是不可变的。
列表是可变的。

3.2 列表

列表非常适合利用顺序和位置定位某一元素,尤其是当元素的顺序或内容经常发生改变时。在列表中,具有相同值的元素可以重复出现多次。

3.2.1 使用[]或list()创建列表

todos_list = ['get gloves', 'get mask', 'get cat vitamins', 'call ambulance']

也可以使用list():

another_list  = list()
print(another_list)

输出:
[]
如果你只想要记录一些互相不相同的值,集合(set)会是一个更好的选择。

3.2.2 使用list()将其他数据类型转换成列表

Python中的list()可以将其他的数据类型转换成列表类型。

print(list('cat'))

输出:
[‘c’, ‘a’, ‘t’]

将一个元组转换成列表:

a_tuple = ('ready','fire','aim')
print(list(a_tuple))

输出:
[‘ready’, ‘fire’, ‘aim’]

使用split()可以根据分隔符将字符串切割成由若干子串组成的列表(如果待分割的字符串里包含连续的分隔符,返回的列表会出现空元素):

birthday = '30/7/1996'
print(birthday.split('/'))

输出:
[‘30’, ‘7’, ‘1996’]

3.2.3 使用[offset]获取元素

和字符串一样可以通过偏移量提取对应位置的元素,同样负偏移量代表从尾部开始计数。

3.2.4 包含列表的列表

列表可以包含各种类型的元素,包括其他列表:

small_birds = ['humiingbird','finch']
extinct_birds = ['dodo','passenger pieon','Norwgian Blue']
carol_birds = [3,'Fernch hens',2,'turtledoves']
all_birds = [small_birds,extinct_birds,carol_birds]
print(all_birds)

输出:
[[‘humiingbird’, ‘finch’], [‘dodo’, ‘passenger pieon’, ‘Norwgian Blue’], [3, ‘Fernch hens’, 2, ‘turtledoves’]]

访问第一个元素:

print(all_birds[0])

输出:
[‘humiingbird’, ‘finch’]

访问第二个元素的第一个元素:

print(all_birds[1][0])

输出:
dodo

3.2.5 使用[offset]修改元素

可以通过赋值对其进行修改,列表的偏移量必须合法:

extinct_birds = ['dodo','passenger pieon','Norwgian Blue']
extinct_birds[2]='unknown'
print(extinct_birds)

输出:
[‘dodo’, ‘passenger pieon’, ‘unknown’]

3.2.6 指定范围并用切片提取元素

使用切片提取列表的一个子序列:

extinct_birds = ['dodo','passenger pieon','Norwgian Blue']
print(extinct_birds[0:2])

输出:
[‘dodo’, ‘passenger pieon’]

与字符串相同,列表也可以设置步长:

print(extinct_birds[::2])

输出:
[‘dodo’, ‘Norwgian Blue’]

实现列表逆序:

print(extinct_birds[::-1])

输出:
[‘Norwgian Blue’, ‘passenger pieon’, ‘dodo’]

3.2.7 使用append()添加元素至尾部

extinct_birds = ['dodo','passenger pieon','Norwgian Blue']
extinct_birds.append('unknown')
print(extinct_birds)

输出:
[‘dodo’, ‘passenger pieon’, ‘Norwgian Blue’, ‘unknown’]

3.2.8 使用extend()或+=合并列表

使用extend()可以将一个列表合并到另外一个列表中:

marxes = ['Groucho','Chico','Harpo','Zeppo']
others = ['Gummo','Karl']
marxes.extend(others)
print(marxes)

输出:
[‘Groucho’, ‘Chic

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值