列表与元组(一)

本文介绍了Python中的序列数据结构,包括列表和元组的定义,以及如何通过索引访问和操作序列元素。示例代码演示了正索引和负索引的用法,同时展示了如何将序列作为元素嵌套在其他序列中。此外,还讨论了通过索引获取字符串和输入数据中的特定字符。最后,通过实际例子展示了如何根据用户输入的月份转换为中文月份。
摘要由CSDN通过智能技术生成


前言

`
本章结涉及是一个新的概念:数据结构。数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是任何数据集类型,如数值、字符串、布尔类型等。在聘用合同语言中,最基本的数据结构是序列。序列的每一个元素都被分配一个编号,可以成这个编号为索引。序列的第一个索引为0,第二个索引为1,以此类推。本章节主要涉及的是列表和元组。


一、定义序列

Python中定义序列的语法与Java中的数组类似,使用一对中括号将序列中的元素括起来即可。

names=['Bill','Mark','Jerry']
#同一个序列中还可以包含不同的数据类型
values=['Bill',30,12.5,True]
#序列的每一个元素还可以是另外一个序列,相当于定义一个二维或多维数组
names=['Bill','Mark']
num=[1,2,3]
salary=[1000,2000,40000]
flags=[True,False,True]
values=[names,num,salary,flags,['a','b']]
for value in values:
    print(value)
print(values)
输出结果:
['Bill', 'Mark']
[1, 2, 3]
[1000, 2000, 40000]
[True, False, True]
['a', 'b']
[['Bill', 'Mark'], [1, 2, 3], [1000, 2000, 40000], [True, False, True], ['a', 'b']]

在上面的代码中,定义了四个序列(names,slasry,num,flag),然后把这4个序列作为values序列的元素值,而且values的最后一个元素是直接指定的字符诶行的序列,所以values一共有5个元素,每个元素都是一个序列,而且这些序列的元素个数不尽相同,这就形成了锯齿状的序列。

二、序列的基本操作

序列支持很多特定的操作,这些操作素有类型的序列都能够使用,例如通过索引引用序列的元素(indexing)、分片、加、乘以及检查某个元素是否属于序列的成员。除此之外,Python语言还可以计算序列的长度,找出最大元素和最小元素,以及对序列迭代。

1.通过索引操作序列元素

如前面所说,序列中的所有元素都是有编号的,编号从0开始递增,序列中的所有元素都可以通过编号访问,这个编号被称为索引。

1、访问并输出序列names中的第一个和 第三个元素
names=['Bill','mike','john','Jack']
print(names[0])#打印第一个元素
print(names[2])#打印第二个元素
输出结果:
Bill
mike

在上面的代码中通过索引0和2分别获取了names序列中的第一个和第三个元素值。此外Python语言中字符串也可以通过索引获取特定的字符。

2、通过索引获取并输出字符串s中的第一个和第四个字符,以及获取Apple的第三个字符
s='Hello world'
print(s[0])
print(s[3])
print('Apple'[2])

通过input输入的字符串也可以通过索引引用其中的某个字符。

fourth=input('请输入年份:')[3]
print(fourth)
输出结果:
请输入年份:2022
2

如果索引是0或者正整数,那么Python计会从序列左侧第一个元素开始取值,如果索引是负数,那么Python语言会从序列右侧第一个元素开始取值。序列最后一个元素的索引是-1,倒数第二个元素的索引是-2,以此类推

3、通过索引获取names序列中的第一个元素、以及通过负索引获取names倒数第一个和倒数第二个元素值。
names=['Bill','mike','john','Jack']
print(names[0])
print(names[-1])
print(names[-2])

注意:当索引超出序列的索引范围时,会抛出异常。

names=['Bill','mike','john','Jack']
print(names[-5])
print(names[5])
输出结果:
---------------------------------------------------------------------------
IndexError                 Traceback (most recent call last)
<ipython-input-6-4742182f5930> in <module>()
      1 names=['Bill','mike','john','Jack']
----> 2 print(names[-5])
      3 print(names[5])
IndexError: list index out of range
4、输入年、月、日,并将月转换为中文输出,如输出的月份是4,要求输出‘4月’
#将中文月份放到序列中
months=[
'1月',
'2月',
'3月',
'4月',
'5月',
'6月',
'7月',
'8月',
'9月',
'10月',
'11月',
'12月'
]
year=input('年:')
month=input('月(1-12):')
day=input('日(1-31):')
monthNames=int(month)
monthName=months[monthNames-1]
print(year+'年'+monthName+day+'日')
输出结果:
年:2022
月(1-12:6
日(1-31):21
2022621

总结

本节和主要介绍了列表的部分知识,主要关于利用索引操作序列元素,通过索引可以操作数值、字符串、input输入以及负索引等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值