列表(有序):

序列的每个元素都可以用2种索引的表达方式,一种是正数索引,另一种是负数索引。

序列切片,作用是访问序列中一定范围的元素,格式“序列名[A:B]”,其中A为所切片的第一个元素的索引号,而B为切片后剩下的第一个元素的索引号。data[:]是整个data列表

  1. data=[1,2,3,4,5,6,7,8,9]
  2. print(data[3:6])
  3. #>>>[4, 5, 6]
  4. print(data[:]) #指没有进行切片
  5. #>>>[1,2,3,4,5,6,7,8,9]
  6. print( data[-3:]) #包含最后一个元素
  7. #>>>[7, 8, 9]

  

“步长”的引用,格式“序列名[A:B:C]”,作用按照步长进行切片,C可以为正数也可以为负数,正数是从左向右进行切片;负数时,从右向左进行切片。

  1. data=[1,2,3,4,5,6,7,8,9]
  2. print(data[::-1]) ##反向输出,步长默认为-1
  3. # >>>[9, 8, 7, 6, 5, 4, 3, 2, 1]
  4. print(data[::1]) ##正向输出,默认为1
  5. # >>>[1, 2, 3, 4, 5, 6, 7, 8, 9]
  6. print(data[-3::-2]) ##步长为负数,改变了切片方向
  7. # >>>[7, 5, 3, 1]

  

 遍历列表:

方法一:

  1. alist=["a","b","c","d","e"]
  2. for index in range(len(alist)):
  3. print (alist[index]+ " index is {0:d}.".format(index))

 

方法二:

 

  1. alist=["a","b","c","d","e"]
  2. for index,item in enumerate(alist):##使用enumerate函数
  3. print ("{0:s} index is {1:d}" .format(item,index))

列表的常用内置方法:

range()函数

  1. #语法range[start, end) # 步长默认为1
  2.  
  3. range(1,5) #代表从1到5(不包含5)
  4. #>>> [1, 2, 3, 4]
  5. range(5) #代表从0到5(不包含5) 实际等于range(0,5,1)
  6. #>>> [0, 1, 2, 3, 4]
  7. range(1,5,2) #代表从1到5,步长为2(不包含5)
  8. # >>>[1, 3]

  

 

元组(有序)

用“()”包裹,也叫只读的列表。关系:列表可以改变值,元组不可以做任何更改,一般用于存储配置信息。

list(tuple): 把元组转换为列表

  1. tuple=("a","b","c")
  2. list=list(tuple) #把元组转换为列表
  3. print(list)
  4. #>>>['a', 'b', 'c']

  

字典(无序):

  1. dic={} #创建空字典
  2. dic["prot"]=80 #向空字典添加键值对
  3. dic["local"]="TJ"
  4. dic["host"]="paulwinflo"
  5. print (dic)
  6. #>>>{'prot': 80, 'host': 'paulwinflo'}
  7. del dic["host"]##删除host键值对
  8. print (dic.keys())##获取字典的所有键,返回是一个list迭代器,可以用list() 转换为列表
  9. print (dic.values())##获取字典所有值,返回是一个list迭代器,可以用list() 转换为列表
  10. print (dic.items())##获取键值对元组
  11. dic.clear()##清空指点
  12. del dic ##删除字典

  

dict():工厂函数用来创建字典,若无任何参数,则创建空字典

  1. a=dict() ##创建空字典
  2. b=dict(zip(("x","y"),(2,4)))##借用zip创建字典,zip有点像拧麻花
  3. print(b)
  4. #>>>{'x': 2, 'y': 4}
  5. c=dict([["x",1],["y",2]])##借用序列创建字典
  6. print(c)
  7. #>>>'y': 2, 'x': 1}
  8. d=dict(x=1,y=3,c=3)##借用等式创建字典
  9. print(d)
  10. #>>>{'y': 3, 'x': 1, 'c': 3}

fromkeys():dict.fromkeys(seq[, value])

创建一个元素具有相同值的字典。fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

  1. list={}.fromkeys(("x","y"),(2,4))
  2. print(list)
  3. #>>>{'x': (2, 4), 'y': (2, 4)}  

dict.update(dict2):函数把字典dict2的键/值对更新到dict里

  1. dict = {'Name': 'Zara', 'Age': 7}
  2. dict2 = {'Sex': 'female'}
  3. dict.update(dict2)
  4. print(dict)
  5. #>>>{'Name': 'Zara', 'Age': 7, 'Sex': 'female'}

 

遍历字典

 

  1. #方法一
  2. dic = {'x': 'A', 'y': 'B', 'z': 'C' }
  3. for k, v in dic.items():
  4. print (k, '=', v)
  5.  
  6. #方法二
  7. dic = {'x': 'A', 'y': 'B', 'z': 'C' }
  8. for item in dic:
  9. print (item+ "="+dic.get(item)) ##使用get比使用dic[item]安全些

  

集合(无序):

集合(set)是一个无序的不重复元素序列,他可以做关系运算(交,差、并)。 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

  1. basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} ##元组
  2. print(basket)
  3. #>>>{'apple', 'banana', 'orange', 'pear'}
  4. word = set('abracadabra')
  5. print(word)
  6. #>>>{'r', 'c', 'b', 'a', 'd'}
  7.  
  8. """关系运算"""
  9. list1={1,3,5,7,9}
  10. list2={1,3,4,5,6}
  11.  
  12. ##交集
  13. print(list1.intersection(list2))
  14. print(list1&list2)
  15. #>>>{1, 3, 5}
  16.  
  17. ##并集
  18. print(list1.union(list2))
  19. print(list1|list2)
  20. #>>>{1, 3, 4, 5, 6, 7, 9}
  21.  
  22. ##差集(in list1 not in list2)
  23. print(list1.difference(list2))
  24. print(list1-list2)
  25. #>>>{9, 7}
  26.  
  27. """操作"""
  28.  
  29. group={"a","b","c","d"}
  30. group.add("e")
  31. print(group)
  32. #>>>{'e', 'a', 'd', 'b', 'c'}
  33. group.remove("a")
  34. print(group)
  35. #>>>{'e', 'd', 'b', 'c'}
  36. group.discard("b") ##都是删除元素,与remove 类似,但是discard 删除不存在的元素时候不会报错,而使用remove的时候会
  37. print(group)
  38. #>>>{'e', 'd', 'c'}

  

  

【python】序列切片和range函数的更多相关文章

  1. python语句结构(range函数)

    python语句结构(range函数) range()函数 如果你需要遍历数字序列,可以使用内置range()函数,它会生成序列 也可以通过range()函数指定序列的区间 也可以使用range()函 ...

  2. python中xrange()和range()函数的区别使用:

    1.range()函数: 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. >>> #ra ...

  3. python学习笔记之——range()函数

    range函数的三种用法:>>> range(1,5) # 代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) # 代表从1到5, ...

  4. Python序列切片的注意事项

    a=[1,2,3,4,5,6,7,8,9,10] 1)普通切片,形如array[m:n],只包含起始索引m,和不被包含在结果内的终点索引n, 注意终点索引可以大于序列的大小(长度),若终点索引大于序列 ...

  5. python的range()函数使用方法

    python的range()函数使用非常方便.它能返回一系列连续添加的整数,它的工作方式类似于分片.能够生成一个列表对象. range函数大多数时常出如今for循环中.在for循环中可做为索引使用.事 ...

  6. for循环&len函数和range函数的运用

     函数:len() 作用:返回字符串.列表.字典.元组等长度 语法:len(str) 参数: str:要计算的字符串.列表.字典.元组等 返回值:字符串.列表.字典.元组等元素的长度 实例 1.计算字 ...

  7. 如何实现 range 函数的参数?

    关于 range 函数 Python内置的range函数可以接收三个参数: class range(stop): ... class range(start, stop[, step]): ... 标 ...

  8. python的range函数与切片操作符

    range(start,stop,step)参数含义:start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5);end:计数到end结束,但不包括end.例如 ...

  9. Python函数-1 range()函数

    range()函数 在其他语言中,如果想要循环一个变量从1到100,要怎么写呢? for(i = 1,i<=100,i++){} python怎么实现这个功能呢?python设计了range() ...

随机推荐

  1. jstl <fmt:formatNumber>标签

    标签用于格式化数字,百分比和货币. 如果type属性为百分比或数字,则可以使用多个数字格式属性.maxIntegerDigits和minIntegerDigits属性允许您指定数字的非分数部分的大小. ...

  2. Hexo博客搭建教程

    1.使用淘宝npm源 $ npm install -g cnpm --registry=https://registry.npm.taobao.org 2.安装hexo cnpm install -g ...

  3. 【剑指offer-12】矩阵中的路径

    题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...

  4. 微信小程序-隐藏和显示自定义的导航

    微信小程序中不能直接操作window对象,document文档,跟html的树结构不相同. 实现类似导航的隐藏显示,如图效果: 点击网络显示或隐藏网络中包含的内容.其他类似. 如果是jquery很方便 ...

  5. 读书笔记 C# Linq查询之group关键字浅析

    在C#中,自从有了Linq查询表达式后,程序员对可被迭代的序列或列表执行一系列的筛选.排序.过滤.分组.查询等操作.本文章所要讲述的是group关键字. Linq查询表达式,是以from关键字开头,以 ...

  6. ORA-01034:Oracle not available

    ORA-01034:Oracle not available 问题描述:ora-01034常与ora-27101同时出现,都是在登录数据库的时候报该错误 错误原因:出现ORA-01034和ORA-27 ...

  7. 玩转X-CTR100 l STM32F4 l UCOS-III移植

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 概述 前后台系统 简单的小型系统设计一般是基于前后台 ...

  8. java程序员常用的八个工具

    以下这8个工具,从代码构建到错误挤压,覆盖Java开发的全域.学习这些工具可以帮助你改善代码质量,成为一个更高效的Java开发人员. 1.Eclipse 尽管IntelliJ IDEA.NetBean ...

  9. fopen & fcolse & fseek & ftell & fstat 文件操作函数测试

    1.文件大小查询file_size.c 方法一:fseek + ftell: 方法二:ftell #include <stdio.h> #include <fcntl.h> # ...

  10. POJ:2386 Lake Counting(dfs)

    Lake Counting Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 40370   Accepted: 20015 D ...