列表,有点像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. js 实现二级联动

    onchange 事件 <body> <select id="province" onchange="func1()"> <opt ...

  2. 从发布订阅模式到redux(一)

    最近在学习的过程中,学习了一些关于redux的一些知识,学之前用redux,虽然会用但是实现的原理就不是特别清楚,天天沉迷于搬砖 总是这木搬砖也不是个事啊,就准备开始深入了解一些原理性的东西 首先在看 ...

  3. java方法中,传参是传值还是传址问题(对比C语言、C#和C++)

    问题引出: 编写一个简单的交换值的小程序,如果我们只是简单地定义一个交换函数接收两个数,在函数内部定义一个中间变量完成交换.那么当我们把a,b两个实参传给这个函数时,往往得不到预期的结果.这是为什么呢 ...

  4. LVS + HAProxy实现跨网负载均衡

  5. Ubuntu快捷键、Ubuntu终端常用命令

    Ubuntu快捷键 0.Ctrl + Alt + t 打开终端,在终端命令行操作 1. Ctrl + W: 关闭当前 Nautilus 窗口 2. Ctrl+T: 在 Nautilus 打开新的 Ta ...

  6. Flutter Plugin开发流程

    这篇文章主要介绍了Flutter Plugin开发流程,包括如何利用Android Studio开发以及发布等. 本文主要给大家介绍如何开发Flutter Plugin中Android的部分.有关Fl ...

  7. scala模式匹配详细解析

    一.scala模式匹配(pattern matching) pattern matching可以说是scala中十分强大的一个语言特性,当然这不是scala独有的,但这不妨碍它成为scala的语言的一 ...

  8. java----OO的概念和设计原则(转)

    一.OO(面向对象)的设计基础 面向对象(OO):就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性, 来认识.理解.刻划客观世界和设计.构建相应的软件系统.面向对象的 ...

  9. [20180928]ora-01426(补充).txt

    [20180928]ora-01426(补充).txt --//链接:http://www.itpub.net/thread-2105458-1-1.html--//做一点点必要的补充: 1.环境:S ...

  10. c/c++ 浅拷贝

    c/c++ 浅拷贝 编译器合成的拷贝构造函数和=重载函数,只是做如下处理: 对象1.成员变量a = 对象2.成员变量a 如果成员变量a是指针,执行完拷贝构造函数或者*=重载函数**后,对象1和对象2的 ...