列表,有点像c++里的数组

# _author: lily
# _date: 2018/12/16 mylist = ["xiaohong", "xiaogang", "xiaoming", "xiaoyun"]
print(mylist)
>>>['xiaohong', 'xiaogang', 'xiaoming', 'xiaoyun'] # 增删改查
# 查 切片
print(mylist[2]) # 取索引为2的元素
>>>xiaoming print(mylist[1:3]) # 取索引从1到2的元素
>>>['xiaogang', 'xiaoming'] print(mylist[1:]) # 取到最后
>>>['xiaogang', 'xiaoming', 'xiaoyun'] print(mylist[1:-1]) # 取到倒数第二个
>>>['xiaogang', 'xiaoming'] print(mylist[1::2]) # 从左到最后一个隔一个取一个,步长为2
>>>['xiaogang', 'xiaoyun'] print(mylist[3::-1]) # 从索引为3的元素开始,从右往左取
>>>['xiaoyun', 'xiaoming', 'xiaogang', 'xiaohong'] # 增 append:直接在列表最后添加; insert:可插入到某个位置。 都是作为一个元素加入
# mylist.append("lily")
# print(mylist)
# >>>['xiaohong', 'xiaogang', 'xiaoming', 'xiaoyun', 'lily'] # mylist.insert(1, "lily")
# print(mylist)
# >>>['xiaohong', 'lily', 'xiaogang', 'xiaoming', 'xiaoyun'] # 改
# mylist[1] = "lily"
# print(mylist)
# ['xiaohong', 'lily', 'xiaoming', 'xiaoyun'] # mylist[1:3] = ["pipi", "lily"]
# print(mylist)
# >>>['xiaohong', 'pipi', 'lily', 'xiaoyun'] # 删
# remove: 直接通过元素名称进行删除操作
# pop: 通过索引去删除元素,并且会返回该元素的内容
# del: 并不是列表独有的,而是通用的删除方法
# mylist.remove("xiaohong")
# print(mylist)
# >>>['xiaogang', 'xiaoming', 'xiaoyun'] # element = mylist.pop(0)
# print(mylist)
# print("element is: %s" %(element))
# >>>['xiaogang', 'xiaoming', 'xiaoyun']
# >>>element is: xiaohong # del mylist[0]
# print(mylist)
# >>>['xiaogang', 'xiaoming', 'xiaoyun'] # del mylist
# print(mylist)
#会报错,因为 del 直接将变量删除了,变量不存在,无法进行输出

增:有append 和 insert 两种方法。

append 是直接在列表后面添加; insert 传入两个参数:要添加到的具体位置和值

删: remove ,pop ,del 三种

remove:传入具体的值来进行删除

pop: 通过索引号来删除元素,并返回删除元素的具体内容。

不指定索引默认会删最后一个

del: 通用的删除方法

clear:mylist.clear() 清空

改: 直接将对应位置的元素进行重新赋值即可,可以修改列表内一段元素的值

查: 取对应索引位置的元素;

取列表内一段索引内的元素

隔一定步长取元素

倒序输出元素

# 对列表进行遍历
y = ['x', 'u', 'j', 'Z', 'Q']
for i in y:
print(i) >>>x
>>>u
>>>j
>>>Z
>>>Q

enumerate 函数:给列表内的每一个元素增加一个序号,输出来是一个元组

for i in enumerate(y):
print(i) 输出:
(, 'x')
(, 'u')
(, 'j')
(, 'Z')
(, 'Q') # 若 enumerate 后面传参数 1,即 enumerate(y, 1),则元素序号从 1 开始

当用两个变量去接收list里的两个值时,这两个值会分别赋给两个变量 (元组同理)

a, b = [1, 'lily']
print(a)
print(b)
>>> 1
>>> lily
# 因为 enumerate(y) 的每一个元素都是一个元组:(i, y[i]),因此用两# 个变量去接收它,元组内的每一个元素会赋值给对应的变量。
for i, v in enumerate(y):
print(i, v)
输出:
0 x
1 u
2 j
3 Z
4 Q

列表的嵌套:

列表嵌套是列表每一个元素可以是任何类型,字符串、数字、列表、元组都可以。

c++ 里面的数组每一个元素都必须是同类型的,这一点很不一样。

a = [[1, 2, 3],'lily' ,46 , ('pencil', 999)]

05 python 初学(列表)的更多相关文章

  1. python初学-列表

    列表操作: 列表一般需要先调用方法后才能打印,不能直接打印调用的方法 因为列表可以修改 一般不会返回一个新列表 # 列表 # new_names = ['lzc','lzc2','lzc3'] # 下 ...

  2. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  3. 孤荷凌寒自学python第六天 列表的嵌套与列表的主要方法

    孤荷凌寒自学python第六天 列表的嵌套与列表的主要方法 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步的语音笔记朗读:https://www.ximalaya.com/keji/1 ...

  4. Python初学笔记之字符串

    一.字符串的定义 字符串是就一堆字符,可以使用""(双引号).''(单引号)来创建. 1 one_str = "定义字符串" 字符串内容中包含引号时,可以使用转 ...

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

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

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

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

  7. Python list列表的排序

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

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

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

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

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

随机推荐

  1. PHP常用函数归类【持续整理中......】

    一.PHP基础语法   变量,常量     严格区分大小写,但内置结构或关键字无所谓(echo)     命名:不能以数字,空格,.来开头,但是可以有汉字,eg:$变量="aa"; ...

  2. js 中prototype运用(数组)

    转自:http://www.cnblogs.com/chiname/articles/216517.html(侵删)  /*   *  方法:Array.removeAt(Index)   *  功能 ...

  3. 微信小程序开发之初探

    本文是以一个简单的小例子,来简要讲解微信小程序开发步骤,希望促进学习分享. 概念 微信小程序,简称小程序,缩写xcx,英文mini program.是一种不需要下载安装即可使用的应用,它实现了应用“触 ...

  4. 浅谈Kotlin(三):类

    浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言: 已经学习了前 ...

  5. Android studio 下的SDK Manager只显示已安装包的情况

    原因是连接不上Google的更新服务器: 解决方法: 选择第三个Options: 修改Http Proxy Server: mirrors.neusoft.edu.cn Http Proxy Port ...

  6. Java synchronized解析

    多线程三大特性: 可见性.原子性.有序性 synchronize的特性: 1.同一时刻只有一个线程访问临界资源 2.其它未获取到锁执行权的线程必须排队等待 3.保证共享资源的原子性.可见性和有序性 4 ...

  7. SAP 销售条件表增强栏位

    有时遇到一个比较特殊的业务,比如公司间免费订单,既要让价格为0,不读取VK11里创建的价格, 又要让公司间的价格读取VK11,这实际上是有矛盾的,也就是说一个订单里面的两行,物料一样,客户一样,就会出 ...

  8. Team Services的打包管理

    Team Services的打包管理 概述 Package Management (打包管理)是一种扩展,可以更容易地发现.安装和发布包. 它与Team Services中心如构建功能深度集成,这样打 ...

  9. SQL Server如何查找表名或列名中包含空格的表和列

    最近发现一个数据库中的某个表有个字段名后面包含了一个空格,这个空格引起了一些小问题,一般出现这种情况,是因为创建对象时,使用双引号或双括号的时候,由于粗心或手误多了一个空格,如下简单案例所示: USE ...

  10. SSIS使用事务回滚

    --创建表ttt Create table ttt ( ID INT PRIMARY KEY , NAME VARCHAR(50) ) --插入测试数据 INSERT INTO TTT VALUES ...