Python学习-day11-切片

Python学习-day11-切片


上一节回顾


索引操作示例
代码清单2-1

# 需求:将以数指定年、月、日的日期打印出来。
months=['January','February','March','April','May','June','July','August','September','October','November','December']

# 一个列表,其中含有数1~31对应的结尾
endings=['st','nd','rd']+17*['th']\
    +['st','nd','rd']+7*['th']\
    +['st']

print(endings)
print('******************************************************')

year=input('Year:')
month=input('Month(1~12):')
day=input('Day(1~31):')

month_number = int(month)
day_number = int(day)

#别忘了将表示月和日的数减1,这样才能得到正确的索引
month_name = months[month_number-1]
ordinal = day + endings[day_number-1]

print(month_name+' '+ordinal+', '+year)

在这里插入图片描述


2.2.2、切片
    除使用索引来访问单个元素外,还可使用切片来访问特定范围内的元素,为此,可使用两个索引,并用冒号分隔:
tag = '<a href="http://www.python.org">Python Web site </a>'
print(tag[-1])
str1 = tag[9:30]
print(str1)
str2 = tag[32:-4]
print(str2)

在这里插入图片描述
    切片适用提取序列的一部分,提供两个边界,其中第一个边界索引指定的元素包含在切片内,第二个不包含在切片内。

    一些操作小技巧

1、简写

numbers = [1,2,3,4,5,6,7,8,9,10]
print(numbers[3:6])
print(numbers[0:1])
 
# 需求:获取8,9,10
print(numbers[-3:-1])

print(numbers[-3:0]) #空序列

print(numbers[-3:]) #取后三个元素
print(numbers[:3]) #取前三个元素
print(numbers[:]) #复制整个序列

在这里插入图片描述


切片操作示例
代码清单2-2

# 需求:输入网址,提取域名
url = input('Please enter the URL:')
print('Domain name:  '+url[11:-4])

在这里插入图片描述
2、更大的步长

print(numbers[0:10]) #提取原序列
print(numbers[:]) #提取原序列,简写
print(numbers[0:10:1]) #提取原序列,步长为1
print(numbers[0:10:2]) #提取步长为2的序列
print(numbers[::2]) #提取步长为2的序列,简写
print(numbers[0:10:3]) #提取步长为3的序列
print(numbers[::3]) #提取步长为3的序列,简写

在这里插入图片描述
步长不能为0,否则无法向前移动,但可以为负数(从右向左提取元素)

print(numbers[::0])

在这里插入图片描述

print(numbers[::-3])

在这里插入图片描述
特别的例子:

numbers = [1,2,3,4,5,6,7,8,9,10]
print(numbers[3:6])
print(numbers[6:3])
print(numbers[6:3:-1])

在这里插入图片描述

博文内容来自本人所选的学习Python的工具书-《Python基础教程》(第三版)人民邮电出版社。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值