05 python 初学(列表)
列表,有点像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 初学(列表)的更多相关文章
- python初学-列表
列表操作: 列表一般需要先调用方法后才能打印,不能直接打印调用的方法 因为列表可以修改 一般不会返回一个新列表 # 列表 # new_names = ['lzc','lzc2','lzc3'] # 下 ...
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...
- 孤荷凌寒自学python第六天 列表的嵌套与列表的主要方法
孤荷凌寒自学python第六天 列表的嵌套与列表的主要方法 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步的语音笔记朗读:https://www.ximalaya.com/keji/1 ...
- Python初学笔记之字符串
一.字符串的定义 字符串是就一堆字符,可以使用""(双引号).''(单引号)来创建. 1 one_str = "定义字符串" 字符串内容中包含引号时,可以使用转 ...
- Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐
# Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐 from binarytree import build import random # https://www.cn ...
- Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK
# Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK from binarytree import build import random # https://www. ...
- Python list列表的排序
当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...
- python中列表和元组以及字符串的操作
python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...
- python基础——列表生成式
python基础——列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4 ...
随机推荐
- js 实现二级联动
onchange 事件 <body> <select id="province" onchange="func1()"> <opt ...
- 从发布订阅模式到redux(一)
最近在学习的过程中,学习了一些关于redux的一些知识,学之前用redux,虽然会用但是实现的原理就不是特别清楚,天天沉迷于搬砖 总是这木搬砖也不是个事啊,就准备开始深入了解一些原理性的东西 首先在看 ...
- java方法中,传参是传值还是传址问题(对比C语言、C#和C++)
问题引出: 编写一个简单的交换值的小程序,如果我们只是简单地定义一个交换函数接收两个数,在函数内部定义一个中间变量完成交换.那么当我们把a,b两个实参传给这个函数时,往往得不到预期的结果.这是为什么呢 ...
- LVS + HAProxy实现跨网负载均衡
- Ubuntu快捷键、Ubuntu终端常用命令
Ubuntu快捷键 0.Ctrl + Alt + t 打开终端,在终端命令行操作 1. Ctrl + W: 关闭当前 Nautilus 窗口 2. Ctrl+T: 在 Nautilus 打开新的 Ta ...
- Flutter Plugin开发流程
这篇文章主要介绍了Flutter Plugin开发流程,包括如何利用Android Studio开发以及发布等. 本文主要给大家介绍如何开发Flutter Plugin中Android的部分.有关Fl ...
- scala模式匹配详细解析
一.scala模式匹配(pattern matching) pattern matching可以说是scala中十分强大的一个语言特性,当然这不是scala独有的,但这不妨碍它成为scala的语言的一 ...
- java----OO的概念和设计原则(转)
一.OO(面向对象)的设计基础 面向对象(OO):就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性, 来认识.理解.刻划客观世界和设计.构建相应的软件系统.面向对象的 ...
- [20180928]ora-01426(补充).txt
[20180928]ora-01426(补充).txt --//链接:http://www.itpub.net/thread-2105458-1-1.html--//做一点点必要的补充: 1.环境:S ...
- c/c++ 浅拷贝
c/c++ 浅拷贝 编译器合成的拷贝构造函数和=重载函数,只是做如下处理: 对象1.成员变量a = 对象2.成员变量a 如果成员变量a是指针,执行完拷贝构造函数或者*=重载函数**后,对象1和对象2的 ...