容器,Python支持一种数据结构的基本概念(容器,基本上就是可包含其他对象的对象。)

两种主要的容器是:序列(如列表和元组)和映射(如字典)

Ps: 列表与元组区别,列表可修改,元组不能。

对序列的通用操作:索引、切片、相加、相乘、成员资格检查。其他,内置函数确定序列长度,以及找出序列中最大和最小元素。

1. 索引

  1. # 将以指定年、月、日的日期打印出来
  2. months = [
  3. 'January',
  4. 'February',
  5. 'March',
  6. 'April',
  7. 'May',
  8. 'June',
  9. 'July',
  10. 'August',
  11. 'September',
  12. 'October',
  13. 'November',
  14. 'December'
  15. ]
  16.  
  17. # 一个列表,其中包含1-31对应的结尾
  18. endings = ['st','nd','rd'] + 17*['th']\
  19. + ['st','nd','rd'] + 7*['th']\
  20. + ['st']
  21.  
  22. year = input('Year:')
  23. month = input('Month(1-12):')
  24. day = input('Day(1-21):')
  25.  
  26. month_number = int(month)
  27. day_number = int(day)
  28.  
  29. # 别忘了将表示月和日的数减1,这样才能得到正确的索引
  30. month_name = months[month_number-1]
  31. ordinal = day + endings[day_number-1]
  32.  
  33. print(month_name + ' ' + ordinal + ', ' + year)
  34.  
  35. # 测试endings列表打印出的内容
  36. print(['st','nd','rd'] + 17*['th']\
  37. + ['st','nd','rd'] + 7*['th']\
  38. + ['st'])

2. 切片

  1. # 从url中提取域名https://www.google.com
  2. url = input('input your url:')
  3. domain = url[12:-4]
  4. print('Domain name:' + domain)
  5. 结果:
  6. input your url:https://www.google.com
  7. Domain name:google.
  8. 因输入url直接回车会跳转打开链接,所以空格回车输出结果,但引入了一个多余的空格,导致最终结果多了一个"."

number[3:6:1],默认步长为1,可不写。

第一个索引包含在内,第二个索引不包含在内。

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

3. 序列相加

  1. print([1,2,3] + [7,8,9,10])
  2. 结果:
  3. [1, 2, 3, 7, 8, 9, 10]
  4.  
  5. print([1,2,3,4] + 'qwrrt')
  6. 结果:
  7. Traceback (most recent call last):
  8. File "D:/Python/PycharmProjects/untitled1/venv/Robots_learning.py", line 818, in <module>
  9. print([1,2,3,4] + 'qwrrt')
  10. TypeError: can only concatenate list (not "str") to list

使用加法运算拼接序列,但是,一般不能拼接不同类型的序列。

4. 乘法

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

  1. print('Python '* 5)
  2. 结果:
  3. Python Python Python Python Python

None在Python中代表什么都没有;初始化。

  1. # 在屏幕中央且宽度合适的方框内打印一个句子
  2. sentence = input('Plz enter your sentence:')
  3.  
  4. screen_width = 80
  5. text_width = len(sentence)
  6. box_width = text_width + 12
  7. left_margin = (screen_width - box_width) // 2
  8.  
  9. print()
  10. print(' '* left_margin + '+' + '-'*(box_width-2) + '+')
  11. print(' '* left_margin + '|' + ' '*(box_width-2) + '|')
  12. print(' '* left_margin + '|' + ' '*(((box_width - text_width)//2)-1) + sentence +' '*(((box_width - text_width)//2)-1)+'|')
  13. print(' '* left_margin + '|' + ' '*(box_width-2) + '|')
  14. print(' '* left_margin + '+' + '-'*(box_width-2) + '+')
  15. print()
  16.  
  17. 结果:
  18. Plz enter your sentence:You'er beautiful!
  19.  
  20. +---------------------------+
  21. | |
  22. | You'er beautiful! |
  23. | |
  24. +---------------------------+

5. 成员资格检测

检查特定值是否包含在序列中,使用运算符in,返回结果True,False,为布尔运算。

  1. # 检查用户名和PIN码
  2. database = [
  3. ['albert', ''],
  4. ['dilbert', ''],
  5. ['smith', '']
  6. ]
  7.  
  8. username = input('User Name:')
  9. pin = input('PIN code:')
  10.  
  11. # 检查用户名和PIN码
  12. if [username, pin] in database:
  13. print('Access granted!')
  14. else:
  15. print('You don\'t have access to the database!')
  16.  
  17. 结果:
  18. User Name:Elon
  19. PIN code:1232345
  20. You don't have access to the database!

20190804-Python基础 第二章 列表和元组的更多相关文章

  1. 20190806-Python基础 第二章 列表和元组(3)元组&章小结

    元组,不可修改的序列(与列表的唯一差别) 1. 元组用圆括号括起,用逗号分隔 2. 如果只有一个值,也必须在后面加上逗号 print((42)) print((42,)) 结果: 42 (42,) p ...

  2. 20190805-Python基础 第二章 列表和元组(2)列表

    1. list函数,用于将字符串转换为列表 2. 基本的列表操作 修改列表 - 给元素赋值,使用索引表示法给特定的元素赋值,如x[1] = 2 删除元素 - 使用del语句即可 name1 = ['a ...

  3. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  4. python基础教程-第二章-列表和元组

    本章将引入一个新的概念,:数据结构.数据结构是通过某种方式(例如对元素进行编号)组织在 一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在python中,最基本的数据结构 ...

  5. 《Python基础教程(第二版)》学习笔记 -> 第二章 列表和元组

    本章将引入一个新的概念:数据结构. 数据结构是通过某种方式阻止在一起的数据元素的集合,这些数据元素可以是数字或者字符,设置可以是其他数据结构. Python中,最基本的数据结构是序列(Sequence ...

  6. Python基础教程学习笔记:第二章 列表和元组

    1.序列中元素的索引: 第一个元素索引是0,第二个是1,依次递增 最后一个元素索引是-1,倒数第二个是-2,依次递减 2.序列(Sequence)的种类: 列表(list).元组(tuple).字符串 ...

  7. Python基础教程 读书笔记(2)第二章 列表和元组

    2.1序列概览 列表和元组的主要区别在于,列表可以修改,元组则不能.也就是说如果要根据要求来添加元素,那么列表可能会更好用;而出于某些原因,序列不能修改的时候,使用元组则更为合适.使用后者的理由通常是 ...

  8. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  9. Python基础:数据类型-列表与元组(6)

    Python中数据结构主要有序列.集合和字典. 1. 通用序列操作 Python内置了多种序列,其中最常用的两种:列表和元组.另一种重要的序列是字符串. 列表和元组的主要不同在于:列表是可以修改的,而 ...

随机推荐

  1. sql mode 问题及解决 错误代码:1055 this is incompatible with sql_mode=only_full_group_by

    数据库升级到5.7.21后,一个正常的分组后按日期排序,并返回数据的语句开始报错: 语句如下: SELECT id,title,add_time FROM `message` GROUP BY add ...

  2. flask中用类的方式构造视图函数

    from flask import Flask from flask.views import MethodView app = Flask(__name__) class IndexView(Met ...

  3. html文字两行后,就用省略号代替剩下的

    html文字两行后,就用省略号代替剩下的 一.总结 一句话总结: 实现原理很简单,将box的高度设置为行高的两倍,超出之后隐藏,这样就只有两行了,然后再用after属性绝对定位在第二行后面加几个点 . ...

  4. BitmapDrawable

    对Bitmap的一种封装,可以设置它包装的bitmap在BitmapDrawable区域中的绘制方式,有: 平铺填充,拉伸填或保持图片原始大小!以<bitmap>为根节点! 可选属性如下: ...

  5. 安装Oracle11g出现INS-13001环境不满足最低要求

    原版:https://blog.csdn.net/Q_Sea__/article/details/79012808 第一次安装Oracle11g,就出现这个问题,就找了一些解决方案.现在总结一下. 出 ...

  6. MySQL标准化、自动化部署

    机器标准化:服务器的硬件配置(CPU.硬盘.内存.RAID)要保持一致 目录标准化: mysql的安装目录,存放数据的目录.日志文件等,多台机器上配置要统一 参数标准化: 多台服务器上,存放的my.c ...

  7. python中星号变量的几种特殊用法

    python中星号变量的几种特殊用法 不知道大家知不知道在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入 ...

  8. ubuntu kylin 18.04 使用 wine 安装 EasyConnect 的windows版本

    首先下载wine: sudo apt-get install wine-stable 然后使用wine安装安装包EXE文件(安装包你自己去下): wine EasyConnectInstaller.e ...

  9. Python绘制可爱的卡通人物 | 【turtle使用】

    Turtle库 简介 什么是Turtle 首先,turtle库是一个点线面的简单图像库,能够完成一些比较简单的几何图像可视化.它就像一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始 ...

  10. (长期更新)【机器学习实践】Pycharm编辑器的使用注意事项

    1. 写Python代码,根据PEP8风格,默认一行的长度不超过 80 个字符. 但是pycharm 默认是第 120 个字符处,故进行修改:  File→Settings→Editor→Code S ...