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]

原文地址:https://blog.51cto.com/12445535/2464100

时间: 2024-08-01 03:46:23

27 python 定义 列表 序列的基本操作 序列的分片的相关文章

python之列表和元组

1. 定义序列:使用一对中括号将序列中的元素值括起来. names = [“bill”,”30”,”12.5”,”True”] names = ["Bill","Mike"] numbers =[1,2,3,4,5,6] salary=[3000.0,4000.0,5000.0] flags=[True,False,True,True] values=[names,numbers,salary,flags,['a','b']] for value in values

Python核心编程(2)——序列:字符串、列表和元组

1.序列 序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量的方式得到.而多个元素可以通过切片操作的方式一次得到.下标偏移量是从0 开始到 总元素数-1 结束 -- 之所以要减一是因为我们是从0 开始计数的. 序列类型操作符 序列操作符 作用 seq[ind] 获得下标为ind 的元素 seq[ind1:ind2] 获得下标从ind1 到ind2 间的元素集合 seq * expr 序列重复expr 次 seq1 + seq2 连接序列seq1 和seq2 obj in seq 判

Python学习笔记2:构造序列:列表推导和生成器表达式

欢迎访问个人网站:www.comingnext.cn 1. 关于Python内置序列类型 a. 按能否存放不同类型的数据区分 容器序列: list.tuple 和collections.deque这些序列能存放不同类型的数据 扁平序列: str.bytes.bytearray.memoryview和array.array,这类序列只能容纳一种类型. b. 按能否被修改来分类 可变序列: list.bytearray.array.array.collections.deque 和 memoryvi

python中列表中的方法(重点) 列表的基本操作(赋值、删除和分片赋值)

第 7 课: 列表的基本操作(赋值.删除和分片赋值) # 列表的基本操作 # 赋值.删除列表元素.分片赋值 # 1. 列表元素的赋值 values = ["Bill", "Mary", "John"] values[0] = "Mike" values[1] = 10.4 values[-1] = "Joe" # values[-5] = "abc" # 抛出异常 print(value

Python学习进程(9)序列

序列是Python中最基本的数据结构.     (1)序列简介: 序列中的每个元素都分配一个数字标明它的位置或索引,第一个索引是0,第二个索引是1,依此类推.序列都可以进行的操作包括索引,切片,加,乘,检查成员. 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. Python有6个序列的内置类型,但最常见的是列表和元组.     (2)列表: 列表可以作为一个方括号内的逗号分隔值出现.列表的数据项不需要具有相同的类型.创建一个列表,只要把逗号分隔的不同的数据项使用方括号括

python kayb算法之从一组序列当中获取一组与目标值最接近的算法

python  kayb算法之从一组序列当中获取一组与目标值最接近的算法 思想:1.考虑所有序列当中的所有元素相遇的情况进行迭代2.在迭代过程当中维护一个与目标数值的最小差值3.在迭代完之后剩余的那一项 即为与目标值最接近的元素序列注意: 1.如果总和大于目标数需要判断此时大于目标数的和与前一个值总和哪个差值最小 2.考虑初始序列元素与目标值的最小差值 3.考虑序列当中所有元素的总和比目标值小问题: 1.是否有最小可以接受的范围 可以大大提高时间 1 # -*- coding:utf-8 -*-

Python中6种内建序列之通用操作

数据结构式通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号--即元素的位置,也称为索引.第一个元素索引是0,第二个则是1,一次类推. Python包含6中内建的序列,即列表.元组.字符串.Unicode字符串.buffer对象和xrange对象. 通用序列操作:索引.分片.序列相加.乘法.成员资格.长度.最小值和最大值 1. 索引 序列

27.Next Permutation(下一个字典序列)

Level: ??Medium 题目描述: Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possible, it must rearrange it as the lowest possible order (ie, sorted in ascending

python的列表,元组和字典简单介绍

引 入 java                                   python 存取多个值:数组或list集合 ------------------------> 列表,元组 key-value格式:    Map        ------------------------>    字典 自己学习发现,java跟python这两门面向对象语言在数据类型的定义上,很多思想都是互通的,这里不说java,简单介绍一下python的列表,元组和字典. 一.列表 List: 最通