创建数值列表

需要存储一组数字的原因有很多,例如,在游戏中,需要跟踪每个角色的位置,还可能需要跟踪玩家的几个最高得分。在数据可视化中,处理的几乎都是由数字(如温度、距离、人口数量、经度和纬度等)组成的集合。

列表非常适合用于存储数字集合,而Python提供了很多工具,可帮助你高效地处理数字列表。明白如何有效地使用这些工具后,即便列表包含数百万个元素,你编写的代码也能运行得很好。

1.使用函数range()

Python函数range() 让你能够轻松地生成一系列的数字。例如,可以像下面这样使用函数range() 来打印一系列的数字:for value in range(1,5):

print(value)

复制代码

上述代码好像应该打印数字1~5,但实际上它不会打印数字5:

在这个示例中,range() 只是打印数字1~4,这是你在编程语言中经常看到的差一行为的结果。函数range() 让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值(这里为5)。

要打印数字1~5,需要使用range(1,6) :for value in range(1,6):

print(value)

复制代码

这样,输出将从1开始,到5结束:

使用range() 时,如果输出不符合预期,请尝试将指定的值加1或减1。

2.使用range() 创建数字列表

要创建数字列表,可使用函数list() 将range() 的结果直接转换为列表。如果将range() 作为list() 的参数,输出将为一个数字列表。

在前一节的示例中,我们打印了一系列数字。要将这些数字转换为一个列表,可使用list() :numbers = list(range(1,6))

print(numbers)

复制代码

结果如下:

使用函数range() 时,还可指定步长。例如,下面的代码打印1~10内的偶数:even_numbers = list(range(2,11,2))

print(even_numbers)

复制代码

在这个示例中,函数range() 从2开始数,然后不断地加2,直到达到或超过终值(11),因此输出如下:

使用函数range() 几乎能够创建任何需要的数字集,例如,如何创建一个列表,其中包含前10个整数(即1~10)的平方呢?在Python中,两个星号(** )表示乘方运算。下面的代码演示了如何将前10个整数的平方加入到一个列表中:squares = []

for value in range(1,11):

square = value**2

squares.append(square)

print(squares)

复制代码

首先,我们创建了一个空列表;接下来,使用函数range() 让Python遍历1~10的值。在循环中,计算当前值的平方,并将结果存储到变量square 中。然后,将新计算得到的平方值附加到列表squares 末尾。最后,循环结束后,打印列表squares :

为让这些代码更简洁,可不使用临时变量square ,而直接将每个计算得到的值附加到列表末尾:squares = []

for value in range(1,11):

squares.append(value**2)

print(squares)

复制代码

两种代码等效。在循环中,计算每个值的平方,并立即将结果附加到列表squares 的末尾。

创建更复杂的列表时,可使用上述两种方法中的任何一种。有时候,使用临时变量会让代码更易读;而在其他情况下,这样做只会让代码无谓地变长。你首先应该考虑的是,编写清晰易懂且能完成所需功能的代码;等到审核代码时,再考虑采用更高效的方法。

3.对数字列表执行简单的统计计算

有几个专门用于处理数字列表的Python函数。例如,你可以轻松地找出数字列表的最大值、最小值和总和:lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

print(min(lists))

print(max(lists))

print(sum(lists))

复制代码

注意:出于版面考虑,本节使用的数字列表都很短,但这里介绍的知识也适用于包含数百万个数字的列表。

4.列表解析

前面介绍的生成列表squares 的方式包含三四行代码,而列表解析让你只需编写一行代码就能生成这样的列表。列表析将for 循环和创建新元素的代码合并成一行,并自动附加新元素。面向初学者的书籍并非都会介绍列表解析,这里之所以介绍列表解析,是因为等你开始阅读他人编写的代码时,很可能会遇到它们。

下面的示例使用列表解析创建你在前面看到的平方数列表:squares = [value**2 for value in range(1,11)]

print(squares)

复制代码

要使用这种语法,首先指定一个描述性的列表名,如squares ;然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value**2 ,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。在这个示例中,for 循环为for value in range(1,11) ,它将值1~10提供给表达式value**2 。请注意,这里的for 语句末尾没有冒号,结果与你在前面看到的平方数列表相同:

要创建自己的列表解析,需要经过一定的练习,但能够熟练地创建常规列表后,你会发现这样做是完全值得的。当你觉得编写三四行代码来生成列表有点繁复时,就应考虑创建列表解析

python一到10整数的平方和_零基础学python_10_列表(创建数值列表 )相关推荐

  1. python提供两种基本循环结构_零基础学python 12 程序不枯燥:for循环结构(课后习题)...

    上节课我们一起学习了咱们的for循环结构,这节课咱们来就之前学过的知识做一下习题吧: 1. 主题: Duck, Duck, Goose! 假设你在一个家禽农场工作,需要计算从传送带传下来的动物数量(不 ...

  2. 用python创建一个从1到10的列表_【编测编学】零基础学python_10_列表(创建数值列表 )...

    创建数值列表 需要存储一组数字的原因有很多,例如,在游戏中,需要跟踪每个角色的位置,还可能需要跟踪玩家的几个最高得分.在数据可视化中,处理的几乎都是由数字(如温度.距离.人口数量.经度和纬度等)组成的 ...

  3. 第一门语言学python好_零基础学编程,哪一门语言比较适合入门?

    最近,有不少小伙伴问我,说零基础学编程,第一门语言学哪个好?有人推荐学Python,理由是Python简单,对新人友好,上手快,那Python到底适不合适新人学呢. 我今天就这个问题给大家稍微的展开一 ...

  4. c字符串中包含双引号_零基础学Python:一文看懂数字和字符串

    来源:大数据DT 本文约2000字,建议阅读6分钟 数据类型是构成编程语言语法的基础.[ 导读 ]数据类型是构成编程语言语法的基础.不同的编程语言有不同的数据类型,但都具有常用的几种数据类型.Pyth ...

  5. python语言学习零基础教学视频_零基础学Python语言CAP全套课程

    零基础学Python语言CAP完整版课程目录 ├─{1}–[第1周,第一单元]Python编程之基本方法 │ ├─{1}–1.1课程内容和安排介绍 │ │ ├─(1.1.1)–课程内容和安排介绍-PP ...

  6. 我的世界python入门教程_零基础学Minecraft编程(图文版)中文pdf_Python教程

    资源名称:零基础学Minecraft编程(图文版) 中文pdf 概述 1 Minecraft 是什么 1 虚拟世界 2 Minecraft 是如何诞生的 2 Minecraft 编程是什么 2 这本书 ...

  7. python语言有几种编程方式_零基础自学python语言,有哪几种方法?龟叔说:这套教程带你入门...

    第一我要说的是:你应该先了解python语言的起源,这句话对于自学python的小白来说,本身就是耍流氓. 我们从根源上分析这个问题,这个问题是(从零基础如何自学python编程)? 我的提取关键字: ...

  8. 从事python需要掌握哪些知识和技能_零基础想转行从事Python?需要掌握如下技能...

    零基础python能找到工作吗?需要掌握哪些技能?对于大部分零基础学编程半路出家的人来说,无非是想改变现状换一门新职业,所谓技术大牛不过是比小白们更早接触编程罢了,选择好自己有兴趣的职业技能,并为之学 ...

  9. python语言程序设计难不难_零基础学Python编程开发难度大吗?从哪学起?

    转行零基础学Python编程开发难度大吗?从哪学起? 近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大? 今天,小编就来为大家详细解读一下这个问题. ...

最新文章

  1. centos7 tomcat 设置开机启动
  2. 聊聊事件驱动的架构模式
  3. 8086汇编-实验8-jmp指令的理解
  4. 大数据生态及其技术栈
  5. OpenCV在图像中添加文字,画点,画直线
  6. android4.0 菜单,三大主流安卓4.0界面解析 MIUI最实用
  7. 您真的了解@WebService吗?
  8. 计算机二级web题目(2)--HTTP基础
  9. vim 下web开发html css js插件
  10. 【转】分享oldjun老大***网站的经验
  11. Innodb中自增长值的列
  12. SQL 比较时间大小
  13. hp服务器 raid卡驱动安装系统,hp 服务器 linux raid驱动
  14. MES管理系统基础知识
  15. 服务器系统如用pe和做镜像,怎么用pe中的光盘镜像安装操作系统
  16. 如何给照片加边框?图片加边框的3个实用方法
  17. [Unity-26] AnimationClip压缩-动画文件压缩
  18. 计算机的显示器颜色怎么调,电脑显示器怎样调色差
  19. Mac重装系统失败-没有符合安装资格的软件包
  20. 2018 新一代人工智能院士高峰论坛 总结文章

热门文章

  1. python求素数之和_python如何求质数之和
  2. bat窗口大小设置_Tomcat的JVM和连接数设置
  3. python连不上树莓派_Python实现树莓派WiFi断线自动重连
  4. 英雄会被表彰,这些技术与代码也将被历史铭记
  5. html卡片布局按钮,Material Design风格动态网格卡片布局UI设计
  6. html for循环正方形,JavaScript for 循环
  7. LL-verilog索引向量+-号用法
  8. 基于verilog的洗衣机设计
  9. java 安全库_国家信息安全漏洞库
  10. hyperterminal使用教程_如何在Win7中安装使用超级终端Hyper Terminal(转)