Python列表与元组
一.列表
1.列表的介绍:
列表lst = [ ] 是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类型,比如以下示例:
2.索引和切片-------和字符串的索引切片类似.
注意:列表是可以发生改变的,这点和字符串不一样,字符串不能通过索引去改变值。
3.切片
lst[0:3] #截取从0-3的元素,但是去不到第3个
lst[ :3] #从头到第3个元素
lst[1: : 2] #从第一个开始取到最后一个,步长为2
lst[2: : -1]# 从第二个元素开始取,步长-1,从右向左倒着取.
列表也可以切片,同字符串的切片规则一样,切出来的内容是列表类型,具体如下示例:
(1)列表的增:
append():变量.append()在原有的基础上进行操作,增加到最后
extend() :变量.extend([xx,yy])迭代的增加 (数字和bool不可迭代添加 )
insert(): 变量.insert(1,xx)在1的位置插入XX.原来的元素后移动一位
①lst.append("A") #列表结尾加上"A"
②lst.insert(1,"刘德华") #在列表的第一个位置添加"刘德华"
③lst.extend(["A","B"]) #迭代添加,将列表里的"A"和"B"分别添加到列表最后.
注意:数字和bool值是不可以用extend添加的,因为他们不是可迭代对象。
(2)列表的删
pop() : 变量.pop(索引)删除指定元素.如果不给索引默认删除最后一个元素
remove(): 变量.remove(元素)删除的元素不存在,会报错
clear(): 变量.clear()清空列表
del(): del 变量[起始:结尾] 切片删除
①lst.pop() #默认删除最后一个元素
lst.pop(2) #删除指定位置的元素
例如: el = lst.pop(2) #有返回值,el为删除的那个元素.
print(el) # 原来列表第2位的元素
print(lst) #输出删除2号位之后的列表
②lst.remove("麻花藤") #删除指定的元素, 如果元素存在,执行删除. 如果元素不存在,程序则会报错!!
③lst.clear() #将整个列表清空,最终列表成为一个空列表.
④del lst[1:3] #将原列表中1-3的元素去掉
注意:pop没有参数默认删除最后一个元素。
(3)列表的改(通过索引修改)
变量[索引]=xxx 把X修改成XX
变量[起始:结尾:步长] 切片修改,如果步长不是1,要注意元素的个数,如果没有步长或步长是1,不用关元素的个数
列表通过切片修改可理解为先删除再迭代添加。
注意:当切片修改时,若步长不是1,则要注意元素个数是否匹配,不匹配会报错。
(4)列表的查
for 元素 in 变量: 列表是可迭代的对象,所以可以进行for循环
变量[索引] 可以朝着具体某个元素
for el in lst:
print(el)
(5)列表的其他操作
count(): 变量.count(xx)统计XX元素在列表中出现的次数
sort(): 变量.sort()对列表进行排序,默认升序. reverse=True 降序
reverse() : 变量.reverse()将列表中的元素反向存放
index(): 变量.index(元素) 从列表中找出某个值第一个匹配项的索引位置
len() len(变量)求列表的长度
@列表的嵌套
采用降维操作,一层一层的看就好。示例如下:
二.元祖
元组:俗称不可变的列表,又被称为只读列表,元组也是python的基本数据类型之一,用小括号()括起来,里面可以放任何数据类型的数据,可以查询,也可以循环,也可以切片,但就是不能改。具体示例如下代码:
tu = ("土豆丝","拍黄瓜","鱼香肉丝","红烧肉","小炒肉")
print(tu[0]) #返回索引为0的元素
print(tu[1])
print(tu[2:5]) #切片之后还是元组类型
尝试修改元组则会报错,如下代码:
tu[1] = "锅包肉" #报错TypeError: 'tuple' object does not support item assignment
关于不可变,注意:这里元组不可变的意思是子元素不可变,而子元素内部的子元素是可以变的,这取决于子元素是否是可变对象。如下代码示例:
元组中如果只有一个元素,一定要添加一个逗号,否则就不是元组。如:tu = (1,)
空元组用 tu = tuple()表示。
元组也是可迭代对象,所以也可以用for循环遍历元组,代码如下:
for el in tu:
print(el)
元组也有count(),index(),len()等方法。
五、range
range可以帮我们获取到一组数据,通过for循环能够获取到这些数据。具体示例如下:
Python列表与元组的更多相关文章
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- python列表与元组的用法
python列表与元组的用法 目录: 列表的用法: 1.增 append + extend 2.删 del remove 3.改 insert 4.查 index 5.反向 ...
- (转)python 列表与元组的操作简介
python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...
- Python列表和元组
Python是没有数组的概念,但是和数组比较相近的概念是列表和元素. 下面两个例子展示列表和元组. # coding=utf-8 # 元组 students = ('小明', '小黄', '小李', ...
- 认识Python 列表和元组
列表用方括号 l=[['xyz',123], 'abc', 3140000000.0, (23+1.3j), 'ddd'] 元组用圆括号 t=(['xyz', 123],'abc', 3140 ...
- #9 Python列表和元组
前言 Python中有6种序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.序列通用操作包括:索引.切片.长度.加.乘.最大值.最小值,遍历和检查成员.虽然Pytho ...
- Python: 列表,元组,字典的区别
Python中有3种内建的数据结构:列表,元组和字典 1.列表 list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中项目应该包括在方括号中,这样python就知道是在指明 ...
- [python01] python列表,元组对比Erlang的区别总结
数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字,字符,甚至可以是其他的数据结构. python最基本的数据结构是sequence(序列):6种内建的序列:列表,元组,字符串, ...
- python 列表,元组,字符串方法和属性
python序列包含列表[].元组().字符串三种 -------列表-------------- 一.列表基本内容 1.建立:a=[1,2,3,5],通过[ , ,], >>>b= ...
- Python 列表、元组、字典及集合操作详解
一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...
随机推荐
- TP框架控制器和对应方法创建
控制器和对应方法创建 控制器是MVC模式中的核心,TP默认有一个控制器: Index控制器里面有一个操作方法:Index 我们在访问http://localhost:8080/Thinkphp ...
- openfire插件开发环境
创建java工程 SamplePlugin: package com.hoo.server.plugin; import java.io.File; import org.jivesoftware.o ...
- listen 54
Our library is also open for the local residents. People are doing their Christmas shopping. Later t ...
- bzoj3462DZY Loves Math II
数据范围:$$2 \leq S \leq 2 * 10^6$$ $$1 \leq n \leq 10^{18}$$ $$ 1 \leq q \leq 10^5$$ 数学+dp 题解写一年系列... 观 ...
- P2024 [NOI2001]食物链[扩展域并查集]
大水题一道啊,几分钟切掉. 还是扩展域,每个点拆3个点,之间连边表示有关系(即捕食关系).然后随便判定一下就好了,不难,毕竟NOI上古题目. #include<iostream> #inc ...
- codevs 3049 舞蹈家怀特先生
题目描述 Description 怀特先生是一个大胖子.他很喜欢玩跳舞机(Dance Dance Revolution, DDR),甚至希望有一天人家会脚踏“舞蹈家怀特先生”.可惜现在他的动作根本不能 ...
- C# 架构模式
单例模式 (Singleton) 单例讲的是当一个类被初次调用时,会产生一个类的实例, 而这个类的实例会贯穿程序的整个生命周期.单例提供了一个全局.唯一的实例. 步骤:1.让类自己创建一个实例:2.提 ...
- 算法导论笔记——第二十章 van Emde Boas树
当关键字是有界范围内的整数时,能够规避Ω(lglgn)下界的限制,那么在类似的场景下,我们应弄清楚o(lgn)时间内是否可以完成优先队列的每个操作.在本章中,我们将看到:van Emde Boas树支 ...
- JS---计算两个日期之间相差多少天
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 转载:数据库应用开发工具Toad使用笔记
由于网上TOAD中文教程很少,在网上摘抄了此文章便于学习,感谢原创者. TOAD使用笔记 1.把鼠标停在sql所在行,然后ctrl+Enter直接执行当前sql. 2.解决Toad对中文显示乱码问题( ...