数据结构是计算机存储和组织数据的方式。Python中有三类四种内建的数据结构,分别是序列(List、Tuple)、映射(Dictionary)以及集合(Set)。

所有序列类型都可以进行某些特定的操作,这些操作包括:索引、分片、加、乘、迭代以及检查某个元素是否属于序列的成员(成员资格),还有计算序列长度、找出最大元素和最小元素的内建元素。

1.索引

1 >>> greeting = ("hello")
2 >>> greeting[1]
3 'e'
4 >>> greeting[-2]
5 'l'

2.分片

 1 >>> num = [1,5,4,7,0]  #从左往右分片起始索引为0,从右往左分片起始索引为-1
 2 >>> num[1:3]
 3 [5, 4]
 4 >>> num[0:-2]
 5 [1, 5, 4]
 6 >>> num[2:-2]
 7 [4]
 8
 9 #开始点的元素包括在结果之中,结束点的元素则不在分片之内;
10 #对于一个正数步长,会从序列头部开始向右提取元素,直到最后一个元素,对于负数步长,则从序列的尾部开始向左提取元素,直到第一个元素
11 >>> num[0:4:2]            
12 [1, 4]
13 >>> num[::-2]
14 [0, 4, 1]
15 >>> num[2::-2]
16 [4, 1]
17 >>> num[:2:-2]
18 [0]

3.加法:相同类型的序列才能进行连接操作

 1 >>> [1,2,3]+[4,5]
 2 [1, 2, 3, 4, 5]
 3 >>> 'hello'+'world'
 4 'helloworld'
 5 >>> [1,2,3]+'hello'
 6
 7 Traceback (most recent call last):
 8   File "<pyshell#201>", line 1, in <module>
 9     [1,2,3]+'hello'
10 TypeError: can only concatenate list (not "str") to list

4.乘法

1 >>> 'python,'*5
2 'python,python,python,python,python,'
3 >>> seq = [None]*10    #初始化一个长度为10的列表
4 >>> print seq
5 [None, None, None, None, None, None, None, None, None, None]
6 >>> print '!'*5 + 'Hello ,World' + '-'*10    
7 !!!!!Hello ,World----------

5.成员资格

 1 >>> 'P'in 'Python'
 2 True
 3 >>> 'p'in 'Python'
 4 False
 5
 6 >>> 'P'in Python  #注意'Python'和Python区别
 7
 8 Traceback (most recent call last):
 9   File "<pyshell#211>", line 1, in <module>
10     'P'in Python
11 NameError: name 'Python' is not defined

6.迭代:通过for循环来遍历

 1 #并行迭代
 2 >>> names = ['ann','beth','tita','jane']
 3 >>> ages = ['21','19','18','22']
 4 >>> zip(names,ages)
 5 [('ann', '21'), ('beth', '19'), ('tita', '18'), ('jane', '22')]
 6 >>> for name,age in zip(names,ages):      #zip可以处理不等长的序列
 7     print name, 'is' ,age ,'years old'
 8
 9 ann is 21 years old
10 beth is 19 years old
11 tita is 18 years old
12 jane is 22 years old
13
14 #索引迭代
15 >>> strings = 'python'
16 >>> for index,string in enumerate(strings):
17     if '3' in strings:
18         strings[index] = 'h'
19
20 #翻转和排序迭代:reversed方法返回一个可迭代对象,sorted方法返回列表
21 >>> sorted([2,0,7,5])
22 [0, 2, 5, 7]
23 >>> reversed('hello')
24 <reversed object at 0x02FF8C70>
25 >>> list(reversed('hello'))
26 ['o', 'l', 'l', 'e', 'h']

7.序列长度、最大值、最小值

1 >>> num = [120,14,39]
2 >>> len(num)
3 3
4 >>> max(num)
5 120
6 >>> min(num)
7 14

转载于:https://www.cnblogs.com/Ryana/p/5968101.html

基础知识回顾——通用序列操作相关推荐

  1. Python基础--通用序列操作

    Python 继续 Python包括6种内建的序列,分别是:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.我们将逐步进行介绍. 今天主要介绍一下通用序列操作.放之四海而 ...

  2. Java基础知识回顾之七 ----- 总结篇

    前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...

  3. php基础知识总结大全,php基础知识回顾 —— 常量

    您现在的位置是:网站首页>>PHP>>php php基础知识回顾 -- 常量 发布时间:2019-01-23 17:23:08作者:wangjian浏览量:489点赞量:0 在 ...

  4. [转载] 列表、元组及通用序列操作

    参考链接: Python | 重点数据类型 (字符串,列表,元组,迭代)(String, List, Tuple, Iteration) 序列是Python中最基本的数据结构(一些基本特性类似于C++ ...

  5. java知识点博客园_JAVA基础知识回顾

    JAVA基础知识回顾 一.背景介绍 JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platfo ...

  6. 计算机基础知识WORD7,计算机基础知识:Word常用操作(7).doc

    计算机基础知识:Word常用操作(七) [导语]在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,河南人事考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考! 一.打 ...

  7. matlab 预设变量大小,新手必看MATLAB基础知识2:基本数据操作(其一):变量和赋值...

    大家好,今天小尼比继续来给大家讲解和MATLAB有关的知识,在<新手必看MATLAB基础知识1:MATLAB操作界面与MATLAB设置>中,有人评论留言,提出了"有点看不懂这些操 ...

  8. C语言基础知识回顾 2-三种基本机构

    C语言基础知识回顾 %超适用于计算机二级% 第二章 三种基本结构 本章回顾最基本的顺序.条件.循环语句的语法结构,对于非初学者来说,这一部分内容想必早就信手拈来. 因此,回顾的侧重点都是一些需要注意的 ...

  9. 【Java基础知识回顾篇】之打怪升级Day001

    Java基础知识回顾篇之打怪升级Day001 目录 Java基础知识回顾篇之打怪升级Day001 简介 一.为什么现在主流的是Java8和Java11? 二.简单尝试编写java程序 1.编写一个He ...

最新文章

  1. winform打开cad图纸_CAD打开图纸的方法汇总
  2. matlab cuda的.cu文件应该放在那里_App Store限免推荐|日历和文件管理、无尽狂奔、Scalak等,共5款...
  3. LeetCode 55. 跳跃游戏 中等难度
  4. Office2013 分享
  5. caffe训练中断后如何承接上次继续训练
  6. Go 如何实现热重启
  7. 业务太复杂?教你如何降低软件的复杂性
  8. 宝塔面板绑定域名导致无法访问
  9. Python is同一性运算符和==相等运算符区别
  10. 前端开发~uni-app ·[项目-仿糗事百科] 学习笔记 ·004【App.vue引入全局公共样式】
  11. raspberry pi2 智能小车源码及测试视频
  12. 大数据未来七大发展方向
  13. Element系列之阻止el-switch冒泡事件
  14. Intel 至强E5/E7 V4 CPU与至强可扩展CPU性能对比表
  15. 没有钱没技术没学历应该怎么去创业?
  16. 注意!出现这十种症状,说明你不适合做程序员
  17. “中国无人车第一案”出现神转折:景驰为何“投诚”百度?
  18. 2019东南大学计算机考研录取,东南大学2019年硕士研究生拟录取名单公示-不带成绩...
  19. win11、10下安装eNSP最新版(1.3.00.200T)并完美运行(转载)
  20. mac常用基本操作笔记

热门文章

  1. 20145226夏艺华 《Java程序设计》实验报告一
  2. 实战Centos系统部署Codis集群服务
  3. HDOJ 1896 Stones
  4. 细说WCF中的会话模式
  5. magento导入导出Custom Options, Tier Prices and Grouped Products
  6. linux内核剪裁 4412,itop4412开发板-Linux内核的编译
  7. k8s一个容器多个镜像_从零开始学K8s: 6.运行一个简单的容器
  8. Spark Streaming之updateStateByKey和mapWithState比较
  9. java定义一个类显示没有_Java 中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。_学小易找答案...
  10. 基于FPGA实现USB2.0接口方案设计