Python中的容器型数据类型–列表1

1.为什么要有列表

介绍列表之前,首先请大家用前面学习的循环和分支实现一个很简单的程序

(还没理解分支和循环的童鞋,赶紧打开《3分钟带你了解Python中分支与循环1》和《3分钟带你了解python中分支与循环2》补补课,编程一定要多加练习,我也总结了《python中分支与循环的必刷经典例题(附参考答案)》,下面来做一下这个练习

掷一颗骰子6000次,记录它每一面出现的次数,并且打印出来

import random                    # 导入random模块
a = b = c = d = e = f = 0
for _ in range(6000):ran = random.randrange(1, 7)  # 接收随机数,模拟骰子if ran == 1:a += 1elif ran == 2:b += 1elif ran == 3:c += 1elif ran == 4:d += 1elif ran == :e += 1else:f += 1
print(a, b, c, d, e,f)           # 打印出每1面出现的次数

童鞋们写出来了吗,不知道你们的代码有没有我的恶心,反正是把我恶心到了

接下来,我们将它升级一下

掷两颗骰子6000次,记录它们出现的数之和的次数,并且打印出来

import random
a, b, c, d, e, f ,g ,h, i ,j, k= 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
for _ in range(6000):ran2 = random.randrange(1, 7)ran1 = random.randrange(1, 7)ran = ran1 + ran2if ran == 2:a += 1elif ran == 3:b += 1elif ran == 4:c += 1elif ran == 5:d += 1elif ran == 6:e += 1elif ran == 7:f += 1elif ran == 8:g += 1elif ran == 9:h += 1elif ran == 10:i += 1elif ran == 11:j += 1else:k += 1
print(a, b, c, d, e, f ,g ,h, i ,j, k)

显然,这是一个体力活儿啊,假如是三个、四个、五个骰子、、、,那不得从早上上班开始敲到下午下班啊,所以,显然这个时候用我们之前在《Python中的变量》中讲过的几种数据变量就不再能够满足需求了,因为之前讲的几种数据类型的变量都是一个变量开辟一个内存空间,而一个变量却只能够存储一个数据,那么,python中有没有像C语言或者java里面那样如数组类型的数据类型的变量呢,答案是肯定的。而且不止一种,这样的数据类型的变量就像一个容器一样,一个容器就可以装很多东西,所以,它们也叫容器型变量,分别有列表(list)、元组(tuple)、字典(dictionary)、集合(set)几种。这里重点介绍列表。

2.列表的定义

正如以上所讲,当只能放一个数据的变量不再能满足需求,那么就出现了能够存放多个数据的数据类型的变量,于是,列表的命名规则相同,而不同的是,如果将它命名为一个单词时,这个单词通常用复数形式,而在取一个列表中的单个元素时,通常将这个元素用单词单数表示,例如

nums = ['香蕉','苹果','梨子']
for num in nums:print(num)

以上代码中nums是一个列表,这个列表里有’香蕉’、‘苹果’、'梨子’三个元素,采用for循环,将里面的元素依次打印出来,这列表的遍历,这个后面一点会讲,这里说的是,for num in nums:中的列表就是用单词的复数形式在命名的,而里面的元素就用num单词的单数为它们“代言”。

列表的定义

  • 定义一个列表

列表用一个方括号将元素包起来,然后元素之间用逗号分隔

定义一个空列表形如:nums = []

想看看这里的nums的数据类型是不是列表类型,同样,采用python内置的type()函数

nums = []
print(type(nums))
输出结果为:
<class 'list'>

定义一个有元素的列表形如: nums = [‘香蕉’, ‘苹果’, ‘梨子’]

nums = ['香蕉', '苹果', '梨子']
print(type(nums))
输出结果:
<class 'list'>

列表的定义是很简单的,主要看看列表的有哪些功能(我们能对列表所做的操作)

3.列表的常用方法(操作)

知道列表的定义后,下面更重要的是我们到底能用它来做哪些事情,也就是能对列表做哪些操作,接下来,它有许多操作,定义一个列表后,采用 "列表名 . " ,就可以将列表的方法显现出来,如下图。

可用的方法还不止这些,所以,我们只介绍几种常用的。

列表中的几个常用方法

  • .pop() 删除列表中最后一个元素,也可以按照下标去删除对应元素
  • .append(元素) 从后面添加元素
  • .remove(元素)按值删除对应元素
  • .sort() 排序()默认是升序,想要降序可加参数reverse = True
  • .insert(位置,元素)添加元素到对应位置,该位置和后面的元素向后移动
  • .clear()清空列表里面的元素
  • .index(元素) 查找元素的位置并返回(找到一个不再找后面的),.index(元素,start,end)从指定位置中找到元素的位置并返回(找到一个不再找后面的)
  • .count(元素) 计元素出现的次数,.count(元素,start,end)指定开始位置和结束位置记录该元素出现的次数
  • .reverse() 对列表进行反转

首先,在使用方法之前,我们需要知道

在列表里面,每一个元素都有一个“位置”,而这个位置,是按照0 ,1, 2, 3 ,4 ····来排的,它叫作这个元素的下标

例如:

nums = [‘香蕉’, ‘苹果’, ‘梨子’, ‘香蕉’, ‘苹果’, ‘梨子’],里面元素的位置是这样的

而如果想取出某个元素,可以这样做

nums = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
print(nums[0])      # 取出第一个元素
print(nums[1])      # 取出第二个元素
print(nums[5])      # 取出第六个元素

这叫列表的索引

在下一篇文章《Python中的容器性数据类型1–列表2》我们会仔细讲到,知道这些就够我们学习列表的常用方法了。

1 .pop() 删除列表中最后一个元素,也可以按照下标去删除对应元素

fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
fruits.pop()
print(fruits)

输出

['香蕉', '苹果', '梨子', '香蕉', '苹果']

还可以按照下标去删除对应元素

fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
fruits.pop(2)      # 删除下标为2的元素,也就是第三个元素‘梨子’
print(fruits)

输出结果

['香蕉', '苹果', '香蕉', '苹果', '梨子']

2 .append(元素) 从后面添加元素

fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
fruits.append('火龙果')
print(fruits)

输出结果为

['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子','火龙果']

3 .remove(元素)按值删除对应元素

fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
fruits.remove('苹果')
print(fruits)

输出结果

['香蕉', '梨子', '香蕉', '苹果', '梨子']    # 下标为1的苹果已经被删除

注意,找到后就删除,并且不再往后面的继续找,如果想将符合的都删除的话用一个循环

例:

fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
# 列表的遍历,后面一点讲到
for i in fruits:          if i == '苹果':fruits.remove('苹果')
print(fruits)

输出结果为

['香蕉', '梨子', '香蕉', '梨子']

4 .sort() 排序(),给列表中的元素排序,默认是升序,想要降序可加参数reverse = True

nums = [1, 5, 2, 7, 9, 3, 4]
print(nums)
print("- " * 20)
nums.sort()
print(nums)

输出结果

[1, 5, 2, 7, 9, 3, 4]               # 排序前的列表
- - - - - - - - - - - - - - - - - - - -
[1, 2, 3, 4, 5, 7, 9]                # 排序后的列表

如果要降序排序

nums = [1, 5, 2, 7, 9, 3, 4]
print(nums)
print("- " * 20)
nums.sort(reverse = True)            # 加上一个参数reverse = True即可
print(nums)

输出结果

[1, 5, 2, 7, 9, 3, 4]                  # 排序前的列表
- - - - - - - - - - - - - - - - - - - -
[9, 7, 5, 4, 3, 2, 1]                  # 排序后的列表

5 .insert(位置,元素)添加元素到对应位置,该位置和后面的元素向后移动

fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
fruits.insert(2, '火龙果')     # 在下标为2的位置插入'火龙果'这个元素
print(fruits)

输出

['香蕉', '苹果', '火龙果', '梨子', '香蕉', '苹果', '梨子']

6 .clear()清空列表里面的元素

这个就不举例了,太简单,小伙伴自己试一下

7 .index(元素) 查找元素的位置并返回(找到一个不再找后面的),.index(元素,start,end)从指定位置中找到元素的位置并返回(找到一个不再找后面的)

# 在fruits列表中查找'苹果'的位置
fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
print(fruits.index('苹果'))

返回结果

1

在指定位置范围内找

# 在fruits列表中下标2到5之间查找'苹果'的位置
fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
print(fruits.index('苹果', 2, 5))

输出结果

4

8 .count(元素) 计元素出现的次数,.count(元素,start,end)指定开始位置和结束位置记录该元素出现的次数

# 在fruits列表统计'苹果'出现的次数
fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
print(fruits.count('苹果'))

输出结果

2

在指定位置范围内统计

# 在fruits列表下标2到5之间统计'苹果'出现的次数
fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
print(fruits.count('苹果', 2, 5))

输出结果

1

9 .reverse() 对列表进行反转

fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
fruits.reverse()
print(fruits)

输出结果

['梨子', '苹果', '香蕉', '梨子', '苹果', '香蕉']

列表的内容先讲到这里,下篇文章,我们一起了解

列表的遍历

列表的索引和切片

如果对你有帮助,不要帮助点赞、评论、关注加收藏哦!
uits = [‘香蕉’, ‘苹果’, ‘梨子’, ‘香蕉’, ‘苹果’, ‘梨子’]
print(fruits.count(‘苹果’, 2, 5))


输出结果```python
1

9**.reverse() 对列表进行反转**

fruits = ['香蕉', '苹果', '梨子', '香蕉', '苹果', '梨子']
fruits.reverse()
print(fruits)

输出结果

['梨子', '苹果', '香蕉', '梨子', '苹果', '香蕉']

列表的内容先讲到这里,下篇文章,我们一起了解

列表的遍历

列表的索引和切片
列表的运用实例
如果对你有帮助,不要帮助点赞、评论、关注加收藏哦!

5分钟带你了解Python中的容器型数据类型--列表1相关推荐

  1. 5分钟带你了解python中超级好用的库 you-get

    一. you-get概述 you-get是一个小型的命令行实用程序,用于从Web下载媒体内容(视频,音频,图像). 官方网址:https://you-get.org/ 源码地址:https://git ...

  2. 太好了,一分钟带你分清Python的模块、库、包有什么联系和区别?

    Python的流行主要依赖于其有众多功能强大的库(Library),Python自带的标准库(Standard Library)可以满足大多数的基础需求,除了函数库以外,模块(Module)和包(Pa ...

  3. 10分钟带你探索css中更为奇妙的奥秘

    10分钟带你探索css中更为奇妙的奥秘

  4. 【教程搬运】读懂github上的工程代码——带你熟悉Python中的Parser

    读懂github上的工程代码--带你熟悉Python中的Parser 1.导入包 2.实例化ArgumentParser 3.使用add_argument函数添加参数 4.使用parse_args解析 ...

  5. lambda在python_在Python中使用lambda高效操作列表的教程

    介绍 lambda Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错 result = lambda x: x * x result(2) # ...

  6. python中怎么比较两个列表-python中如何比较两个列表不同

    通过不断的测试发现,python实现高效快速比对两个列表的不同,可借助python集合set()提供的集合运算进行操作,此方式效率非常高. 而在java语言中,如下方法中方法1相比方法2(集合运算)的 ...

  7. python中怎么比较两个列表-python中如何比较两个列表

    cmp() 方法用于比较两个列表的元素. cmp()方法语法:cmp(list1, list2) 参数: list1 -- 比较的列表.list2 -- 比较的列表. 返回值: 如果比较的元素是同类型 ...

  8. python中的序列总结:列表,元组,字符串

    首先python中的序列有列表,元组,字符串. 列表List是python里面最基本的数据结构.序列中每个元素都是从索引(下标)从0开始,依次叠加. List操作的方法很多,只能熟悉基本常用的这个方法 ...

  9. python中object是什么数据类型_自学Python2.1-基本数据类型-字符串str(object) 上

    自学Python2.1-基本数据类型-字符串str(object) 上 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配 ...

  10. 【Python】Python实战从入门到精通之一 -- 教你深入理解Python中的变量和数据类型

    本文是Python实战–从入门到精通系列的第一篇文章: Python实战从入门到精通之一 – 教你深入理解Python中的变量和数据类型 文章目录 1.变量 1.1 变量命名规则 1.2 变量名称错误 ...

最新文章

  1. 排序算法系列:Shell 排序算法
  2. MVP open day 2009 (二)
  3. VTK:可视化之Visualize2DPoints
  4. JavaScript 世界万物诞生记
  5. web前端分享JavaScript到底是什么?特点有哪些?
  6. Extjs formpanel加载数据的两种方式
  7. Redis五大数据类型
  8. jquery获取和设置属性_jQuery获取属性,设置属性,删除属性
  9. CSS:使用CSS绘制三角形
  10. Gradle 4.8.1基本配置
  11. 全国青少年编程等级考试scratch三级真题2021年12月(含题库答题软件账号)
  12. Windows系统监控
  13. 协议栈数据包快速转发的实现(2)
  14. HP Gen8 MicroServer win7 系统安装手册(usb)
  15. Symbian术语表
  16. 英语考研——因果状语从句
  17. Win10 Synaptics触摸板无法实现双指单击模拟鼠标右键点击的解决办法
  18. java中library找不到了,java web 找不到java.library.path途径
  19. 深度linux时间.年日调整,deepin深度商店中的Linux版应用体验分享(一)
  20. quartus 13.0 之四位全加器(不需要用modelism的歪门邪道)

热门文章

  1. DTAS尺寸公差分析软件-三维尺寸公差分析软件尺寸链计算软件
  2. SimpleMind Pro 1.29.1 小巧的思维导图工具
  3. mysql从删库到跑路 Ubuntu篇
  4. 趣图:gif PostgreSQL MySQL 从删库到跑路
  5. vuejs出的手机app有哪些_vue.js点餐app手机触屏滑动分类菜单切换代码
  6. ABAP BDC使用EXCEL模板批量修改物料
  7. java登录界面圆形头像_Bootstrap实现圆角、圆形头像和响应式图片
  8. c语言.jpg图片转成数组_图片可以转Word吗?教你两种方法轻松转换
  9. 2016阿里在线笔试Java研发附加题
  10. TR CEV65M-01460一个人,也有春夏秋冬