【python】序列切片和range函数
列表(有序):
序列的每个元素都可以用2种索引的表达方式,一种是正数索引,另一种是负数索引。
序列切片,作用是访问序列中一定范围的元素,格式“序列名[A:B]”,其中A为所切片的第一个元素的索引号,而B为切片后剩下的第一个元素的索引号。data[:]是整个data列表
data=[1,2,3,4,5,6,7,8,9]
print(data[3:6])
#>>>[4, 5, 6]
print(data[:]) #指没有进行切片
#>>>[1,2,3,4,5,6,7,8,9]
print( data[-3:]) #包含最后一个元素
#>>>[7, 8, 9]
“步长”的引用,格式“序列名[A:B:C]”,作用按照步长进行切片,C可以为正数也可以为负数,正数是从左向右进行切片;负数时,从右向左进行切片。
data=[1,2,3,4,5,6,7,8,9]
print(data[::-1]) ##反向输出,步长默认为-1
# >>>[9, 8, 7, 6, 5, 4, 3, 2, 1]
print(data[::1]) ##正向输出,默认为1
# >>>[1, 2, 3, 4, 5, 6, 7, 8, 9]
print(data[-3::-2]) ##步长为负数,改变了切片方向
# >>>[7, 5, 3, 1]
遍历列表:
方法一:
alist=["a","b","c","d","e"]
for index in range(len(alist)):
print (alist[index]+ " index is {0:d}.".format(index))
方法二:
alist=["a","b","c","d","e"]
for index,item in enumerate(alist):##使用enumerate函数
print ("{0:s} index is {1:d}" .format(item,index))
列表的常用内置方法:
range()函数
#语法range[start, end) # 步长默认为1 range(1,5) #代表从1到5(不包含5)
#>>> [1, 2, 3, 4]
range(5) #代表从0到5(不包含5) 实际等于range(0,5,1)
#>>> [0, 1, 2, 3, 4]
range(1,5,2) #代表从1到5,步长为2(不包含5)
# >>>[1, 3]
元组(有序):
用“()”包裹,也叫只读的列表。关系:列表可以改变值,元组不可以做任何更改,一般用于存储配置信息。
list(tuple): 把元组转换为列表
tuple=("a","b","c")
list=list(tuple) #把元组转换为列表
print(list)
#>>>['a', 'b', 'c']
字典(无序):
dic={} #创建空字典
dic["prot"]=80 #向空字典添加键值对
dic["local"]="TJ"
dic["host"]="paulwinflo"
print (dic)
#>>>{'prot': 80, 'host': 'paulwinflo'}
del dic["host"]##删除host键值对
print (dic.keys())##获取字典的所有键,返回是一个list迭代器,可以用list() 转换为列表
print (dic.values())##获取字典所有值,返回是一个list迭代器,可以用list() 转换为列表
print (dic.items())##获取键值对元组
dic.clear()##清空指点
del dic ##删除字典
dict():工厂函数用来创建字典,若无任何参数,则创建空字典
a=dict() ##创建空字典
b=dict(zip(("x","y"),(2,4)))##借用zip创建字典,zip有点像拧麻花
print(b)
#>>>{'x': 2, 'y': 4}
c=dict([["x",1],["y",2]])##借用序列创建字典
print(c)
#>>>'y': 2, 'x': 1}
d=dict(x=1,y=3,c=3)##借用等式创建字典
print(d)
#>>>{'y': 3, 'x': 1, 'c': 3}
fromkeys():dict.fromkeys(seq[, value])
创建一个元素具有相同值的字典。fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
list={}.fromkeys(("x","y"),(2,4))
print(list)
#>>>{'x': (2, 4), 'y': (2, 4)}
dict.update(dict2):函数把字典dict2的键/值对更新到dict里
dict = {'Name': 'Zara', 'Age': 7}
dict2 = {'Sex': 'female'}
dict.update(dict2)
print(dict)
#>>>{'Name': 'Zara', 'Age': 7, 'Sex': 'female'}
遍历字典
#方法一
dic = {'x': 'A', 'y': 'B', 'z': 'C' }
for k, v in dic.items():
print (k, '=', v) #方法二
dic = {'x': 'A', 'y': 'B', 'z': 'C' }
for item in dic:
print (item+ "="+dic.get(item)) ##使用get比使用dic[item]安全些
集合(无序):
集合(set)是一个无序的不重复元素序列,他可以做关系运算(交,差、并)。 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} ##元组
print(basket)
#>>>{'apple', 'banana', 'orange', 'pear'}
word = set('abracadabra')
print(word)
#>>>{'r', 'c', 'b', 'a', 'd'} """关系运算"""
list1={1,3,5,7,9}
list2={1,3,4,5,6} ##交集
print(list1.intersection(list2))
print(list1&list2)
#>>>{1, 3, 5} ##并集
print(list1.union(list2))
print(list1|list2)
#>>>{1, 3, 4, 5, 6, 7, 9} ##差集(in list1 not in list2)
print(list1.difference(list2))
print(list1-list2)
#>>>{9, 7} """操作""" group={"a","b","c","d"}
group.add("e")
print(group)
#>>>{'e', 'a', 'd', 'b', 'c'}
group.remove("a")
print(group)
#>>>{'e', 'd', 'b', 'c'}
group.discard("b") ##都是删除元素,与remove 类似,但是discard 删除不存在的元素时候不会报错,而使用remove的时候会
print(group)
#>>>{'e', 'd', 'c'}
【python】序列切片和range函数的更多相关文章
- python语句结构(range函数)
python语句结构(range函数) range()函数 如果你需要遍历数字序列,可以使用内置range()函数,它会生成序列 也可以通过range()函数指定序列的区间 也可以使用range()函 ...
- python中xrange()和range()函数的区别使用:
1.range()函数: 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. >>> #ra ...
- python学习笔记之——range()函数
range函数的三种用法:>>> range(1,5) # 代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) # 代表从1到5, ...
- Python序列切片的注意事项
a=[1,2,3,4,5,6,7,8,9,10] 1)普通切片,形如array[m:n],只包含起始索引m,和不被包含在结果内的终点索引n, 注意终点索引可以大于序列的大小(长度),若终点索引大于序列 ...
- python的range()函数使用方法
python的range()函数使用非常方便.它能返回一系列连续添加的整数,它的工作方式类似于分片.能够生成一个列表对象. range函数大多数时常出如今for循环中.在for循环中可做为索引使用.事 ...
- for循环&len函数和range函数的运用
函数:len() 作用:返回字符串.列表.字典.元组等长度 语法:len(str) 参数: str:要计算的字符串.列表.字典.元组等 返回值:字符串.列表.字典.元组等元素的长度 实例 1.计算字 ...
- 如何实现 range 函数的参数?
关于 range 函数 Python内置的range函数可以接收三个参数: class range(stop): ... class range(start, stop[, step]): ... 标 ...
- python的range函数与切片操作符
range(start,stop,step)参数含义:start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5);end:计数到end结束,但不包括end.例如 ...
- Python函数-1 range()函数
range()函数 在其他语言中,如果想要循环一个变量从1到100,要怎么写呢? for(i = 1,i<=100,i++){} python怎么实现这个功能呢?python设计了range() ...
随机推荐
- 51nod1693
题解: 首先将问题转化,可以发现操作改为两种 一种是s*=k,代价为k,一种是s--,代价为1 转化成图论,spfa跑最短路 然后更据一些证明,代价1的k<=13且为质数,并且不可能操作2连续5 ...
- hdu 2874 Connections between cities(st&rmq LCA)
Connections between cities Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- npm install mysql --save-dev
npm install X: 会把X包安装到node_modules目录中 不会修改package.json 之后运行npm install命令时,不会自动安装X npm install X –sav ...
- flask(十)使用alembic,进行数据库结构管理,升级,加表,加项
1.安装扩展,在虚拟环境中安装 alembic,不懂可以去看pycharm的系列文章. 2.初始化, 使用 Alembic 前需要通过 alembic init 命令创建一个 alembic 项目,该 ...
- tomcat部署和启动3
点击STATUES,弹出登陆框 You are not authorized to view this page. If you have not changed any configuration ...
- Python 文件路径
# 文件路径: # 1. 相对路径: 相对于当前程序所在的文件夹, 如果在文件夹内, 随便找, 直接写名字 # 如果不在这个文件夹内, 可能需要出文件夹或者进文件夹 # 出文件夹 ../ # 进文件夹 ...
- Swift中格式化日期
Swift语言中格式化日期跟其它编程语言很相似: var dformatter = NSDateFormatter() dformatter.dateFormat = "yyyy年MM月dd ...
- PAT 说反话-加强版 (20分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母 ...
- python3:定时执行自动化测试脚本
转载请注明出处:https://www.cnblogs.com/shapeL/p/9172990.html 1.windows任务计划定时执行脚本 (1)创建 .bat 文件,执行脚本的命令(inte ...
- magento开发中文手册
Magento开发 第一章 手册简介Introduction 对一个开发人员来说,电子商务开发也许是现今最具创造性的工作.在这个瞬息万变的网络世界,为了保持始终领先竞争对手一步,无论是对你自己还是你的 ...