1.列表——list [ ]

有序、可变、支持索引查看。

存储数据,支持大多数数据类型:字符串,数字,布尔值、列表、集合、元组、字典等。

1.1 定义: lst(勿用list)

 lst = ["aaa",123,True,"你好"]   # 元素之间用逗号分隔
 print(lst[0])   # aaa
 print(id(lst[0]))     #id获取对象的内存地址

1.2 列表的增删改查

1.2.1 增:

 lst = ["aaa",123,True,"你好"]
 lst.append(True)    # 追加 (在列表的最后位置添加一个元素)
 lst.insert(2,"今天") # 插入 在位置2前加入"今天"   以后尽量不要使用(当数据量比较大的时候会影响效率)
 lst.extend("可迭代的内容")  # 迭代添加在列表末尾,数字布尔值不可

1.2.2 删:

 lst = ["aaa",123,True,"你好"]
 lst.pop()   #弹 -- 默认删除最后一个,返回被删除的元素
 lst.pop(3)  # 通过指定索引进行删除
 lst.remove(123) # 移除 -- 通过元素名字进行删除
 lst.clear() #清空,只剩一个空列表
 ​
 del lst     #删除整个列表
 del lst[2]  # 通过索引删除
 del lst[0:3] # 通过切片删除
 del lst[0:3:2] # 通过步长删除

1.2.3 改:

 lst = ["aaa",123,True,"你好"]
 lst[0] = 1  #索引修改,将"aaa"变为 1
 lst[2] = "美好"
 lst[1:3] = "123"  #切片后迭代 ['aaa', '1', '2', '3', '你好']
 lst[1:3] = 1,2,3  #加逗号可修改 ['aaa', 1, 2, 3, '你好']
 lst[1:3] = True    #错误,数字/布尔值不可迭代
 lst[:4:2] = 1,2    # [1, 123, 2, '你好']
 lst[:4:2] = "12"   # 步长不为1的必须一一对应填,多一个也不行,少一个也不行。

1.2.4 查:

 # for循环
 lst = ["aaa",123,True,"你好"]
 for i in lst:
     print(i)   # 输出 i

1.3 列表嵌套:

通过索引进行一层一层的查找取值。按逗号进行索引元素。

 lst = ["aaa",123,["世界",True,["你好"]]]
 print(lst[-1][-1][0])   # 你好

不管什么类型进行切片的时候获取的都是原数据类型。

2. 元组——tuple ( )

2.1 定义

tu = (1,"aaa",True,"你好",[1,2,3])

2.2 特征

1. 有序,不可变,支持索引查看,不能增、删、改。

2. 元组用于存储一些比较重要的信息元组,在配置文件中会使用。

3. 元组就是不可变的列表。

4. 元组嵌套同列表。

2.3 查

 # for循环
 tu = ("aaa",123,True,"你好")
 for i in tu:
     print(i)   # 输出 i

3. range——范围 和for配合使用

 range(起始位置,终止位置)
 print(range(0,10))   # 顾头不顾尾
      # python3 中的range是一个可迭代对象 写得是怎样的打印的时候就是怎样,结果为 range(0,10)
      # python2 中的range返回的是一个列表 结果为 [0,1,2,3,4,5,6,7,8,9]
      # python2中xrange和python3中的range是相似的
 ​
 range(起始位置,终止位置,步长)
 print(list(range(10,-2,-1))) #步长不写得时候默认为1 [10:-2:-1]   反向
 print(list(range(10)))  #步长不写得时候默认为1 [:10]
 ​
 # 例题:
 #1.使用for循环和range 打印 100 ~ 1
 for i in range(100,0,-1):
     print(i)
     
 #2.使用for循环和range 打印 1~100内的奇数
 for i in range(1,101,2):
     print(i)
     
 #3.使用for循环和range 打印 1~100内被6整除的数
 for i in range(0,101,6):
     print(i)
     
 #4. 输入三次名字,打印成列表
 #第一种方法: while
 lst = []
 flage = True
 while flage:
     name = input("请输姓名:")
     lst.append(name)         # 追加
     if len(lst) == 3:
         flage = False
 print(lst)
 ​
 #第二种方法:range与for配合使用
 lst = []
 for i in range(3):    
     lst.append(input("请输入姓名:"))
 print(lst)

python 04 列表的更多相关文章

  1. python --- 04 列表 元组

    一 .列表 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1.列表存在索引和切片. 和字符串是一样的. 2.增删改查操作 1).增加 1. .append(" ...

  2. Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐

    # Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐 from binarytree import build import random # https://www.cn ...

  3. Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK

    # Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK from binarytree import build import random # https://www. ...

  4. Python list列表的排序

    当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...

  5. python中列表和元组以及字符串的操作

    python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...

  6. python基础——列表生成式

    python基础——列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4 ...

  7. Python的列表排序

    Python的列表排序 本文为转载,源地址为:http://blog.csdn.net/horin153/article/details/7076321 在 Python 中, 当需要对一个 list ...

  8. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  9. python对列表的联想

    python的列表与字典,已经接触无数次了.但是很多用法都记不住,个人觉得归根原因都是只是学了知识点而少用,也少思考.在此试图用宫殿记忆法对它们的用法做个简单的梳理. 首先,说说列表的删除,删除有三种 ...

随机推荐

  1. HTML介绍和标签

    1.HTML介绍 1.概述 html不是一种编程语言,是一种描述性的标记语言,用于描述超文本内容的显示方式.比如字体,颜色,大小等. 超文本:音频,视频,图片称为超文本. 标记:<英文单词或者字 ...

  2. 【杂谈】如何对Redis进行原子操作

    什么时候需要进行需要原子操作? 很常见的例子,就是利用Redis实现分布式锁. 实现锁需要哪些条件? 我们知道要实现锁,就需要一个改变锁状态的方法.这个方法能原子地对锁的状态进行检查并修改.如果修改成 ...

  3. 0004. 寻找两个有序数组的中位数(Java)

    4. 寻找两个有序数组的中位数 https://leetcode-cn.com/problems/median-of-two-sorted-arrays/ 最简单的就是用最简单的,把两个数组分别抽出然 ...

  4. kudu集群高可用搭建

    首先咱得有KUDU安装包 这里就不提供直接下载地址了(因为有5G,我 的服务器网卡只有4M,你们下的很慢) 这里使用的是CDH版本 官方下载地址http://archive.cloudera.com/ ...

  5. 动态开内存(malloc与calloc)

    malloc与calloc 1.函数原型 #include<stdlib.h> void *malloc(unsigned int size);     //申请size字节的内存 voi ...

  6. ASP.NET Core Web API 跨域(CORS) Cookie问题

    身为一个Web API,处理来自跨域不同源的请求,是一件十分合理的事情. 先上已有的文章,快速复制粘贴,启用CORS: Microsoft:启用 ASP.NET Core 中的跨域请求 (CORS) ...

  7. npm 一些有用的提示和技巧

    生成 package.json 我们通常执行 npm init,然后开始添加 npm 请求的信息. 但是,如果我们不关心所有这些信息,并且希望保留默认值,那么对于 npm 请求的每一条数据,我们都按 ...

  8. Spring 常犯的十大错误,答应我 打死都不要犯好吗?

    1. 错误一:太过关注底层 我们正在解决这个常见错误,是因为 “非我所创” 综合症在软件开发领域很是常见.症状包括经常重写一些常见的代码,很多开发人员都有这种症状. 虽然理解特定库的内部结构及其实现, ...

  9. Netty学习(六)-LengthFieldBasedFrameDecoder解码器

    在TCP协议中我们知道当我们在接收消息时候,我们如何判断我们一次读取到的包就是整包消息呢,特别是对于使用了长连接和使用了非阻塞I/O的程序.上节我们也说了上层应用协议为了对消息进行区分一般采用4种方式 ...

  10. 图片格式:gif / png / pg / webp 介绍

    本文引自:https://www.cnblogs.com/changyangzhe/articles/5718285.html GIF介绍 GIF 意为Graphics Interchange for ...