27 python 定义 列表 序列的基本操作 序列的分片
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了27 python 定义 列表 序列的基本操作 序列的分片相关的知识,希望对你有一定的参考价值。
第一课 定义 列表
# 列表和元组 ---- 序列
# 序列:是数据元素的集合,数据元素可以是数值、字符串、布尔类型、对象等。
# 序列的类型:列表和元组
# 列表: 把一组值简单的放在一起的一种方式 和数组类似
name = "Bill"
names = ["Bill", "Mary", "John"]
values = ["Bill", True, False, 10,20.5,[1,2,3,4,5]]
print(names) # 输出结果为:[‘Bill‘, ‘Mary‘, ‘John‘] 把双引号变成了单引号 这个无关紧要
print(values) # 输出结果为:[‘Bill‘, True, False, 10, 20.5, [1, 2, 3, 4, 5]]
for value in values: # 通过for 语句 挨个获取 每一个列表中的值
print(value)
‘‘‘
输出结果 循环遍历
Bill
True
False
10
20.5
[1, 2, 3, 4, 5]
‘‘‘
---------------------------------------
第二课 序列的基本操作 通过索引操作序列元素 (也就是说列表和元组都是可以通过索引操作元素) // 也就可以理解为shell中的三剑客 grep sed awk 这样子的操作
# 序列的基本操作 ---- 通过索引获取序列的值
# 通过一个序号表示一个序列元素值,序号称为索引
# 索引从0开始,Python语言中,索引可以是负数
names = ["Bill", "Mary", "Jack"]
print(names[0]) # 输出结果为: Bill
print(names[2]) # 输出结果为:Jack
s = "I love python"
print(s[0]) #输出结果为:I
print(s[7]) #输出结果为:p
print("Hello"[1]) #输出结果为:e
#fourth = input(‘请输入年份:‘)[3] # 比如输入 2019 那么输出的结果就是 9 取 最后的一位数
#print(fourth)
# 如果索引小于0 这个在python中是支持的
print(names[0])
print(names[-1]) # Jack
print(names[-2]) # Mary
print(names[-3]) # Bill
#print(names[5]) # 超出索引的范围的话 就会抛出异常
# print(names[-4])
months = [
‘一月‘,
‘二月‘,
‘三月‘,
‘四月‘,
‘五月‘,
‘六月‘,
‘七月‘,
‘八月‘,
‘九月‘,
‘十月‘,
‘十一月‘,
‘十二月‘,
]
year = input(‘年:‘)
month = input(‘月(1-12):‘)
day = input(‘日(1-31):‘)
monthNumber = int(month)
monthName = months[monthNumber - 1]
print(year,"年",monthName, day,"日")
‘‘‘
输出结果为:
年:2019
月(1-12):8
日(1-31):4
2019 年 八月 4 日
‘‘‘
---------------------------------------------
第三课:序列的分片 // 就是去截取 所想要的东西 // 也就可以理解为shell中的三剑客 grep sed awk 这样子的操作
# 分片(Slicing)
# 分片:从一个序列中获取子序列
# 分片有3个参数:startIndex、endIndex和step(步长)开始索引和结束索引都可以省略 这个在后面中例子中讲到了
# 分片可以截取子字符串
url = ‘https://geekori.com‘
print(url[0:5]) # 通过区间来获取一个字符串 输出结果为:https 左闭右开(左要右不要) 可以通过分片截取 字符串的操作
print(url[8:len(url)]) # 输出结果 geekori.com len(url) 获取字符串的长度
print(len(url)) # 输出结果为 19 获取字符串的长度
# 下面我们来看 分片 如何截取 列表
numbers = [1,2,3,4,5,6,7,8]
print(numbers[1:3]) # [2,3]
print(numbers[0:6]) # [1,2,3,4,5,6] 左闭右开
print(numbers[-3:-1]) # [6,7]
print(numbers[-3: 1]) # 当结束索引小于开始索引时,返回空的列表
# 省略开始索引和结束索引
print(numbers[4:len(numbers)]) # [5, 6, 7, 8]
print(numbers[4:]) # [5, 6, 7, 8]
print(numbers[1:]) # [2, 3, 4, 5, 6, 7, 8]
print(numbers[0:5]) # [1, 2, 3, 4, 5]
print(numbers[:5]) # [1, 2, 3, 4, 5]
print(numbers[:]) # [1,2,3,4,5,6,7,8] 全部省略的话,那么就是取所有的
numbers1 = numbers[:]
numbers1[1] = 400
print(numbers)
# 设置分片的步长
# 截取奇数序列
print(numbers[0::2]) # [1, 3, 5, 7]
# 获取偶数序列
print(numbers[1::2]) # [2, 4, 6, 8]
# 获取倒序排列
print(numbers[len(numbers):2:-1]) # [8, 7, 6, 5, 4] len(numbers)开始索引 2为结束索引 -1步长 倒叙的步长
print(numbers[len(numbers):3:-1]) # [8, 7, 6, 5]
print(numbers[::-1]) # 复制整个序列,并且将序列倒序排列 [8, 7, 6, 5, 4, 3, 2, 1]
以上是关于27 python 定义 列表 序列的基本操作 序列的分片的主要内容,如果未能解决你的问题,请参考以下文章
Python面试必考重点之列表,元组和字典第十二关——如果列表元素是字典序列,如何利用lambda表达式对列表进行升序降序排列