《疯狂Python》学习第4课

第2章 列表、元组和字典

    本章将会介绍Python内置的三种常用数据结构:列表(list)、元组(tuple)和字典( diet )。
    列表和元组比较相似,它们都按顺序保存元素, 每个元素都有自己的索引,因此列表和元组都可通过索引访问元素。二者的区别在于元组是不可修改的,但列表是可修改的。字典则以key-value的形式保存数据。

2.1 序列

    所谓序列,指的是一种包含多项数据的数据结构,序列包含的多个数据项(也叫成员)按顺序排列,可通过索引来访问成员。

2.1.1 Python的序列

    Python的常见序列类型包括字符串、列表、元组等。
    元组是不可变的,元组一旦构建出来,程序就不能修改元组所包含的成员;但序列是可变的,程序可以修改序列所包含的元素。

2.1.2 创建列表和元组

    列表和元组的创建方式类似,区别只是创建列表使用方括号, 创建元组使用圆括号。
    创建列表的语法格式如下:
[elel , ele2, ele3 , … ]
    创建元组的语法格式如下:
(elel, ele2, ele3 , … )

2.2 列表和元组的同样用法

    列表和元组非常相似,它们都可包含多个元素,多个元素也有各自的索引。程序可通过索引来操作这些元素,只要不涉及改变元素的操作,列表和元组的用法是通用的。

2.2.1 通过索引使用元素

    列表和元组都可通过索引来访问元素,它们的索引都是从0 开始的,第1个元素的索引为0,第2 个元素的索引为1,… 依此类推; 它们也支持使用负数索引,倒数第l1个元素的索引为-1,倒数第2 个元素的索引为-2 …… 依此类推。
    列表的元素相当于一个变量,程序既可使用它的值,也可对元素赋值;元组的元素则相当于一个常量, 程序只能使用它的值,不能对它重新赋值。

2.2.2 子序列

    列表和元组同样也可使用索引获取中间一段,这种用法被称为slice(分片或切片)。slice的完整语法格式如下:
[start: end: step]
    其中start、end 两个索引值都可使用正数或负数, 其中负数表示从倒数开始。该语法表示从start 索引的元素开始(包含),到end 索引的元素结束(不包含) 的所有元素。step表示步长,因此step 使用负数没有意义。

2.2.3 加法

    列表和元组支持加法运算,加法的和就是两个列表或元组所包含的元素的总和。列表只能和列表相加;元组只能和元组相加;元组不能直接和列表相加。
    代码示例:

#计算元组相加
a_tuple =('crazyit', 340 , 5.6, 'Python ',-23)
b_tuple=('cat',34,-45,'Hello','World')
print(a_tuple+b_tuple)#输出结果:('crazyit', 340, 5.6, 'Python ', -23, 'cat', 34, -45, 'Hello', 'World')
#计算列表相加
a_list =['crazyit', 340 , 5.6, 'Python ',-23]
b_list=['cat',34,-45,'Hello','World']
print(a_list+b_list)#输出结果:['crazyit', 340, 5.6, 'Python ', -23, 'cat', 34, -45, 'Hello', 'World']

2.2.4 乘法

    列表和元组可以和整数执行乘法运算,列表和元组乘法的意义就是把它们包含的元素重复N次——N 就是被乘的倍数。
    代码示例;

a_tuple =('crazyit', 340 )
mul_tuple=a_tuple*3
print(mul_tuple)
#输出结果:('crazyit', 340, 'crazyit', 340, 'crazyit', 340)
a_list =['Python', 23 ]
mul_list=a_list*3
print(mul_list)
#输出结果:['Python', 23, 'Python', 23, 'Python', 23]

    用户可以以对列表、元组同时进行加法、乘法运算。例如:编写程序将把用户输入的日期翻译成英文表示形式。、

order_endings = ('st','nd','rd') + ('th',) * 17 + ('st','nd','rd',) +('th',) * 7 + ('st',)
print(order_endings)
day=input("请输入日期:1-31")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值