第二章 列表和元素

2.1 序列概述

列表和元组的主要不同在于,列表是可以修改的,而元组不可以。

创建一个由数据库中所有人员组成的列表:

>>> edward = ['Edward Gumby', 42]

>>> john = ['John Smith', 50]

>>> database = [edward, john]

>>> database

[['Edward Gumby', 42], ['John Smith', 50]]

2.2.1索引

序列中的所有元素都有编号——从0开始递增。

>>> greeting = 'Hello'

>>> greeting[0]

'H'

当使用负索引时,从最后一个数字开始,-1为最后一个元素的位置

>>> greeting[-1]

'o'

>>> 'Hello'[1]

'e'

获取用户输入的年份的第四位:

>>>fourth=input('Year: ')[3]

Year: 2005

>>> fourth

'5'

2.2.2 切片

使用切片来访问范围内的元素

>>> tag = 'Python web site'

>>> tag[9:30]

'http://www.python.org'

>>> tag[32:-4]

'Python web site'

其中第一个索引是第一个元素的编号(编号从0开始),第二个索引是切片后余下的第一个元素的编号(也就是看成再减一位就行[向开始的位置减])

>>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> numbers[3:6] [4, 5, 6]

>>> numbers[0:1] [1]

1. 绝妙的简写

>>> numbers[-3:-1] 负索引

[8, 9]

如果切片结束于序列末尾,可省略第二个索引。

>>> numbers[-3:]

[8, 9, 10]

同样,如果切片始于序列开头,可省略第一个索引。

>>> numbers[:3]

[1, 2, 3]

要复制整个序列,可将两个索引都省略。

>>> numbers[:]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2. 更大的步长

>>> numbers[0:10:2] 将从起点和终点之间每隔一个元素提取一个元素

[1, 3, 5, 7, 9]

当然,步长不能为0,否则无法向前移动,但可以为负数,即从右向左提取元素。

>>> numbers[10:0:-2]

[10, 8, 6, 4, 2]

>>> numbers[0:10:-2]

[]

>>> numbers[::-2]

[10, 8, 6, 4, 2]

{ 注意区分以下:

>>> numbers[5::-2]

[6, 4, 2]

>>> numbers[:5:-2]

[10, 8]

}

步长为负数时,第一个索引必须比第二个索引大。步长为正数时,它从起点移到终点,而 步长为负数时,它从终点移到起点。

2.2.3序列相加

可使用加法运算符来拼接序列。

>>> [1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

>>> 'Hello,' + 'world!'

'Hello, world!'

提示:不能拼接列表和字符串,一般而言,不能拼接不同类型的序列

2.2.4 乘法

将序列与数x相乘时,将重复这个序列x次来创建一个新序列:

>>> [42] * 10

[42, 42, 42, 42, 42, 42, 42, 42, 42, 42]

在Python中表达"什么都没有’可使用None

代码 序列(字符串)乘法运算示例

# 在位于屏幕中央且宽度合适的方框内打印一个句子

sentence = input("Sentence: ")

screen_width = 80

text_width = len(sentence)

box_width = text_width + 6

left_margin = (screen_width - box_width) // 2

print()

print(' ' * left_margin + '+' + '-' * (box_width-2) + '+')

print(' ' * left_margin + '| ' + ' ' * text_width + ' |')

print(' ' * left_margin + '| ' + sentence + ' |')

print(' ' * left_margin + '| ' + ' ' * text_width + ' |')

print(' ' * left_margin + '+' + '-' * (box_width-2) + '+')

print()

再有3天就过年了。。。。。

标签:10,索引,Python,42,笔记,width,numbers,基础教程,序列

来源: https://www.cnblogs.com/nmlwh/p/10346822.html

python基础教程第4版-Python基础教程(第3版) 笔记(四)相关推荐

  1. python俄罗斯方块教程_python tkinter实现俄罗斯方块 基础版

    本项目最终效果见本人b站投稿av81480858 简介部分 本项目最终代码已上传github: https://github.com/BigShuang/Tetris 的1_BASIC文件夹 .其中1 ...

  2. python 教程英语版_Python基础教程第3版 英文原版pdf

    资源名称:Python基础教程第3版  英文原版pdf Magnus Lie Hetland又更新他的 "Beginning Python From Novice to Profession ...

  3. python教程文档下载_Python基础教程(第2版)PDF文档下载

    本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能"瞻前"也能"顾后".本书层次鲜明.结构严谨.内容翔实,特别是 ...

  4. python入门教程傻瓜版_毫无基础的人如何入门 Python ?Python入门教程拿走不谢啦!...

    随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...

  5. python基础教程书-7本Python必读的入门书籍

    Python入门书籍不用看太多,看一本就够.重要的是你要学习Python的哪个方向,或者说你对什么方向感兴趣,因为Python这门语言的应用领域比较广泛,比如说可以用来做数据分析.机器学习,也可以用来 ...

  6. python基础教程书籍推荐-入门python有什么好的书籍推荐?

    Python编程语言有许多语法结构.标准库函数和交互式开发环境功能.好在,你可以忽略大多数内容.你只需要学习部分内容,就能编写一些方便的小程序. 但在动手之前,你必须学习一些基本编程概念.就像魔法师培 ...

  7. python基础教程书籍推荐-初学者python入门必看书籍推荐(上)

    随着最近Python的热度上涨,学习的人数也在增多,也因为Python这门语言的简短.易学.语言优美的优点,吸引了很多人来学习它.初学者想要入门,就必须先通过阅读,学习大量的理论知识对Python有一 ...

  8. c语言python零基础教学_编程零基础应当如何开始学习 Python?附教程

    零基础学编程,用python入门是个不错的选择,虽然国内基本上还是以c语言作为入门开发语言,但在国外,已经有很多的学校使用python作为入门编程语言.此外,python在机器学习,人工智能领域也非常 ...

  9. python基础教程书籍-7本Python必读的入门书籍

    Python入门书籍不用看太多,看一本就够.重要的是你要学习Python的哪个方向,或者说你对什么方向感兴趣,因为Python这门语言的应用领域比较广泛,比如说可以用来做数据分析.机器学习,也可以用来 ...

  10. python编程入门 适合于零基础朋友-《从零开始学 Python》(第二版)

    老齐 · 更新于 2018-11-28 11:00:43 <零基础学 Python>(第二版) Python 是一种面向对象.解释型计算机程序设计语言,由 Guido van Rossum ...

最新文章

  1. python二分查找
  2. NodeJS学习之网络操作
  3. 分段路由SR应用场景—Vecloud
  4. 安卓如何运行python_如何在android上运行Python代码?
  5. java web自动化部署_JavaWeb项目自动化部署脚本
  6. 计算机ftp无法找到启动路径,filezilla出现路径错误导致无法启动怎么办?filezilla无法启动的解决方法...
  7. Hexo+GitHub 快速搭建个人博客(二)---- 域名解析
  8. shellcode编写
  9. Mike Novogratz:比特币在未来几年内将继续大幅上涨
  10. 部分AMD RAID驱动程序需及时升级
  11. 电子学会机器人等级考试三四级考试大纲
  12. mysql indentify_ORA-01157: cannot identify/lock data file导致表空间无法on
  13. xcpc近年铜牌题补题路
  14. 易语言游戏基址内存数据CEAA自动汇编脚本注入及CALL的调用
  15. python画正方形-用python画正方形
  16. C++用递归方法求x^n,x和n由键盘输入完整可运行源代码及过程
  17. android下运行时动态链接dlopen()和dlsym()的实现
  18. 新手小白学影视剪辑50天日入500,她的方法秘籍全在这里了!【覃小龙课堂】
  19. Cognos产品功能介绍
  20. 全球最大的已泄漏密码库现可公开访问下载:你的密码有人泄漏过吗?

热门文章

  1. 【bzoj 3495】PA2010 Riddle
  2. 2017-2018-2 20179207 《网络攻防技术》第五周作业
  3. drozer与adb工具的安装与使用
  4. Appstate的几种状态及在android 和ios触发
  5. svn的merge使用例子
  6. 将jar文件做成exe可运行文件
  7. oracle1537,dataguard 出现ORA-16136错误
  8. python从入门到精通视频(全60集)-【网盘下载】Python从入门到精通视频(全60集)...
  9. 零基础python必背代码-编程零基础应当如何开始学习 Python?
  10. python最新版本-官方宣布不再维护Python2,并每年发布一个新版本