文章目录
Day3 2022年1月17日-星期一
一. 序列——可以存放多个值的一个容器
序列中每个值都有对应下标(索引)
下标:就相当于酒店房间号,方便客人查找与酒店管理
C语言数组中a[i],i为下标
编程中下标的起始值从0开始往右递增,下标的逆向计数是从-1往左递减
C语言中可以参考数组
a[0],a[1],a[2],a[3]
1.1切片
字符串是一个有序序列
切片就是当我们需要该序列中某一个值或者一段值的时候,就可以使用切片,进行操作
1.1.1获取数值
格式:序列名[下标]
——该方括号要再英文状态下输入
栗子:
>>> verse = '你的名字' #你0 的1 名2 字3
>>> verse[3]
'字'
>>> verse[-1] #你-4 的-3 名-2 字-1
'字'
>>> name = '王亚琪' #王0 亚1 琪2
>>> print(name[2])
琪
如C语言中的栗子
#include<stdio.h> int main() { char a[3]={'w','y','q'}; printf(%c,a[2]); //w0 y1 q2 return 0; }
1.2多个值的切片
格式:序列名[起始值:终点值]
左闭右开
栗子:
verse = '亚琪喜欢夏夏'
#喜欢夏夏
>>> print(verse[2:5])
喜欢夏
>>> print(verse[2:6])
喜欢夏夏
包头不包尾巴——当我们切片的时候,该值再序列的最后一位时,就可以省略终点值下标
>>>print(verse[2:])
喜欢夏夏
包尾不包头——当我们切片的时候,起始值在该序列的第一位时,就可以省略起始值下标
>>>print(verse[0:5])
亚琪喜欢夏
>>>print(verse[:5])
亚琪喜欢夏
代码:
say = "夏夏说我小笨蛋"
print(say)
print(say[:])
print(say[0:4])
print(say[4:7])
print(say[-7:-3])
print(say[:4])
print(say[-3:])
输出:
======================== RESTART: E:/code/Py/love.py ========================
夏夏说我小笨蛋
夏夏说我小笨蛋
夏夏说我
小笨蛋
夏夏说我
夏夏说我
小笨蛋
1.3步长
格式:序列名[起始值:终点值:步长]
左闭右开区间;终点值是不包括该位置的值,步长默认为一
栗子:
say = "夏~夏~说~我~小~笨~蛋"
print(say[::2])
======================== RESTART: E:/code/Py/love.py ========================
夏夏说我小笨蛋
1.4逆向输出——逆向的起始值从右开始
步长为-1
>>> name = "夏夏与琪亚"
>>> print(name[-1:-6:-1]) #都是负数
亚琪与夏夏
二. 列表(list)——列表是一个可以存放多个的容器
定义:列表名 = [数据,数据1,数据2……]
方括号
栗子:
>>>name = ['夏夏','亚琪','喜欢',]
>>>print(name)
['夏夏', '亚琪', '喜欢']
2.1列表元素的多样化——存放各个类型
Love =['love','夏夏','喜欢',99,True]
>>> print(Love)
['love', '夏夏', '喜欢', 99,True]
2.2列表切片
>>> name = ["夏夏","喜欢","亚琪","喜欢"]
>>> print(name[::-1])
['喜欢', '亚琪', '喜欢', '夏夏']
>>> print(name[-2:-5:-1])
['亚琪', '喜欢', '夏夏']
三.元组(tuple)——元组是一个可以存放多个的容器;元组是不可修改的(一经创建不可修改)
定义:元组名 = (数据,数据1,数据2……)
圆括号
栗子:
>>> name = ("夏夏","喜欢","亚琪","喜欢")
>>> print(name)
('夏夏', '喜欢', '亚琪', '喜欢')
>>> name = ("夏夏","喜欢","亚琪","喜欢")
>>> print(name)
('夏夏', '喜欢', '亚琪', '喜欢')
>>> print(name[2])
亚琪
>>> print(name[1])
喜欢
>>> print(name[0])
夏夏
单个元素元组的创建,必须在末尾加上逗号,否则解释器回认为该类型不是一个元组
>>> type(name)
<class 'tuple'>
>>> name=("夏夏")
>>> type(name)
<class 'str'>