python之list [ 列表 ]
1. 列表是什么?
list [ ]
逗号隔开
是一个容器
可以存放任意类型
列表 == 书包
书包里可以放水杯、衣服、袜子、钱包
钱包里可以放钱、身份证件,可以包套包
2. 列表能干什么?
- 存储大量数据
- 有序的
- 可变的,可以被修改
- 之前是什么格式放在列表中还是什么格式
- 可以被迭代
3. 列表的切
方法一: 索引
li = [1,2,3,"123",True]
print(li[3],type(li[3]))
print(li[-1],type(li[-1]))
'''
输出结果
123 <class 'str'>
True <class 'bool'>
'''
# 个人见解
# 切片后还是原来的数据类型
方法二: 切片
li = [1,2,3,"123",True]
print(li[1:4])
'''
[2,3,"123"]
'''
方法三: 索引切片加步长
li = [1,2,3,"123",True]
print(li[1:4:2])
'''
输出结果
[2, '123']
'''
s = "alex"
print(type(s[1:3:1]))
print(type(li[-1:-4:-1]))
# 切片后还是原来的数据类型
一句话总结
列表切片:
索引:li[2]
切片:li[2:3]
步长:li{2:3:2}
4. 列表的创建
**方法一: **直接创建
li = [1,2,3,'123',True,[1,2,5]]
方法二: 用list将一个字符串生成
l1 = list()
l1 = list('fhdsjkafsdafhsdfhsdaf')
print(l1)
# 输出结果
['f', 'h', 'd', 's', 'j', 'k', 'a', 'f', 's', 'd', 'a', 'f', 'h', 's', 'd', 'f', 'h', 's', 'd', 'a', 'f']
# 底层使用了for循环 "abc" 可迭代的字符串类型,所以打印出如此内容
一句话总结
列表创建方法:
li = [1,2,3,'123',True,[1,2,5]]
l1 = list('fhdsjkafsdafhsdfhsdaf')
5. 列表的增
5.1 append('要插入的内容') (结果:会在末尾追加)
方法: 直接添加元素
li = [1,2,3,'alex',3,[1,2,3]]
li.append('太亮') # 追加 添加在末尾 添加的操作
'''
输出结果
[1,2,3,'alex',3,[1,2,3],'太亮']
'''
5.2 instert(索引,'要插入的内容') (结果:效率低)
方法: 索引,元素
li.insert(0,"大象")
# 插入 第一个参数(索引),第二参数要插入的内容
5.3 extend('要添加内容')(结果:迭代添加,字符会拆开)
方法:直接添加元素, 不可迭代对象: int bool
li = [1,2,3]
li.append('abc')
print(li)
'''
[1,2,3,'a','b','c']
'''
5.4 列表的合并(两列表拼接成一个)
用法:+在一起
l2 = [1,2,3,'abc']
l3 = [7,8,9,'hello']
print(l2 + l3)
[1,2,3,'abc',7,8,9,'hello']
一句话总结
列表增加方法:
append('内容') 特点:默认字尾添加
instert(索引,'内容') 特点:效率低
extend('内容') 特点:迭代,字符串会拆开
6. 列表的删
6.1 pop('被删除元素/不写是默认删除最后元素')(结果:有返回值,返回的值是被删除的内容)
方法一:默认删除最后一个元素且有返回值,是被删除的元素
# 思考删除abc
li = [1,2,3,'abc']
li.pop()
print(li)
print(li.pop())
'''
输出结果
[1,2,3] #删除后的列表
abc # 被删除的元素
'''
# abc被删除
方法二:根据索引删除元素
li = [7,8,9,'abc']
li.pop(2)
print(li)
'''
输出结果
[7,8,abc]
'''
一句话总结
pop删除的3种方式:
默认删除尾部li.pop()
直接删除元素li.pop('abc')
直接删除索引,删除的就是对应的元素li.pop(2)
pop删除有返回值,返回值是被删除的元素,打印方式print(li.pop())
本节习题:
列表li = [1,2,3,'abc'],请用2种方法删除元素'abc'
6.2 remove('被删除的元素') (通过元素删除)
方法: 按照元素名删除
li = [1,2,3,'abc',True]
li.remove(1)
print(li)
[2,3,'abc',True]
一句话总结
remove('元素'), 从左向右删除,有同名的删除左侧的第一个
6.3 del 列表名 (删除整个列表)
方法一:del li 删除整个列表
li = [1,2,3,"abc",True]
del li
print(li)
'''
输出结果
NameError: name 'li' is not defined, li列表没有被定义
'''
方法二: 索引删除
del li[2]
方法三: 切片删除
del li[0:3]
方法四: 步长删除
del li[::2]
一句话总结:
del li 整个列表
del [2] 索引
del [2:3] 切片
del [2:3:2] 步长
6.4 clear() 清空,得到一个空列表
方法:
li.clear() # 格式
print(li)
[]
7. 列表的改
方法一: 通过索引的改
li = ["水杯",2,3,"abc",]
li[-1] = "奶瓶" # 将'abc'改成奶瓶
print(li)
'''
["水杯",2,3,"奶瓶",]
'''
li[1] = [1,2,3] # 将元素改成一个列表
'''
["水杯",[1,2,3],3,"abc",]
'''
方法二: 通过切片的改
- 可多可少
- 可以指定空
li = ["水杯",2,3,"abc",]
li[0:3] = [1,2,3],[1234]
'''
[[1, 2, 3], [1234], 'abc']
'''
# 将0-3改成[1,2,3],[1234]
li[0:4] = [1,2,3],[1234]
'''
[[1,2,3],[1234]]
'''
方法三: 通过步长的改 取几个就放几个 不能多不能少
li = ["水杯",2,3,"abc",]
li[0:3:2] = [1,2,3],[1234]
print(li)
'''
[[1, 2, 3], 2, [1234], 'abc']
'''
8. 列表的查
方法: 通过索引查
li = ['abc',5,'太白','老吉普','d']
print(li[3])
'''
老吉普
'''
方法: 通过切片
li = ['abc',5,'太白','老吉普','d']
print(li[1:4])
'''
[5,'太白','老吉普']
'''
方法: 通过步长
li = ['abc',5,'太白','老吉普','d']
print[li[1:4:2]]
'''
[5,'老吉普']
'''
方法: 通过for循环
li = ['abc',5,'太白','老吉普','d']
for i in li:
print(i)
'''
['abc',5,'太白','老吉普','d']
'''
9. 列表的嵌套
li = ["水杯","衣服","鞋子","书","电脑","屁",["手机","钥匙",["身份证","银行卡"]],]
l2 = li[6]
print(l2)
'''
["手机","钥匙",["身份证","银行卡"]]
'''
l3 = l2[2]
print(l3)
'''
["身份证","银行卡"]
'''
l4 = l3[1]
print(l4)
'''
银行卡
'''
可以写成如下:
l5 = li[6][2][1] # 第一个列表的索引6内部列表索引2,再内部列表索引1
print[l5]
'''
银行卡
'''
列表习题:
li = [1,2,3,"123",True]
1. 用学过的方法输出以下结果
123 <class 'str'>
True <class 'bool'>
[2,3,"123"]
[2, '123']
2. 查看下s = "alex"的数据类型
li = ["水杯",2,3,"abc",]
3. 两种方法将abc删除
li = [1,2,3,'alex',3,[1,2,3]]
4. 在列表末尾添加一个'太白'
5. 低效率方法在第一个位置插入一个'大象'
6. 用两种方法在列表末尾位置添加一个'a','b','c'
l3 = [1,2,3]
l2 = ["a","b","c"]
7. 将这两个列表合并成一个
li = [1,2,3,"abc",True]
8. 将这个列表中的'abc'删除
9. 两种方法将这个列表中的True删除
li = [1,2,3,'abc']
10. 将第二个字符改成一个列表
11. 用改的方法将列表里元素2和3删除
li = [1,2,3,4,"abc",5]
li[0:2] = "ABC"
12. 上题结果
li = ["水杯",2,3,"abc",]
13. 将'水杯'和3分别改成[1,2,3],[1234]
li = ["水杯",2,3,"abc",]
14. 将列表变成这样[[1,2,3],[1234]]
li = ["水杯","衣服","鞋子","书","电脑","屁",["手机","钥匙",["身份证","银行卡"]],]
15. 将'银行卡'提取出来
python之list [ 列表 ]的更多相关文章
- [转载]Python 元组、列表、字典、文件
python的元组.列表.字典数据类型是很python(there python is a adjective)的数据结构.这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益 ...
- python 获取一个列表有多少连续列表
python 获取一个列表有多少连续列表 例如 有列表 [1,2,3] 那么连续列表就是 [1,2],[2,3],[1,2,3] 程序实现如下: 运行结果:
- Python学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- 第三章 Python容器:列表、元组、字典与集合
数据结构的分类依据?基本的"数组"在python中是列表, 数据结构的作用?容器,盛放数据,是由原子组成的分子.可以将一群数据进行整合.拆分.重排. 3.2 列表 列表是啥?顺 ...
- julia与python中的列表解析.jl
julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...
- python学习笔记——列表生成式与生成器
1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...
- Python 迭代器和列表解析
Python 迭代器和列表解析 1)迭代器 一种特殊的数据结构,以对象形式存在 >>> i1 = l1.__iter__() >>> i1 = iter(l1) 可 ...
- 3.python元组与列表
Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套.不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. 创建元组 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开 ...
- Python编程笔记 - 列表
这篇文章开始介绍Python中的容器.Python容器包括列表.元组.集合与字典.这些数据结构中都涉及到很多的方法,这里对比较常用的一些方法进行介绍,不用每个方法都记住,熟悉常用的即可. 首先,我们先 ...
- 再一波Python实战项目列表
前言: 近几年Python可谓是大热啊,很多人都纷纷投入Python的学习中,以前我们实验楼总结过多篇Python实战项目列表,不但有用还有趣,最主要的是咱们实验楼不但有详细的开发教程,更有在线开发环 ...
随机推荐
- phpstudy的mysql版本升级至5.7
phpstudy安装的mysql版本一般都是5.5或5.4的,但是有时候做项目又必须用到mysql5.7版本,所以我们现在来看一下如何在phpstudy的环境下将mysql版本升级至5.7 温馨提醒: ...
- 347. Top K Frequent Elements (sort map)
Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [ ...
- [Xcode 实际操作]一、博主领进门-(5)检测运行中的模拟器在各个方向上的切换
目录:[Swift]Xcode实际操作 本文将演示Xcode的设备模拟器在各个方向上的切换和检测. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 检测运行中的模拟 ...
- Aufree/trip-to-iOS
https://github.com/Aufree/trip-to-iOS?utm_source=next.36kr.com
- NPOI用WorkbookFactory读写 2007以上格式文件(xlsx)
//我用的最新的2.2.1版本 //第一步:引用DLL,5个全导入,包括ICSHARP.ZIP,是个开源压缩工具包.XLSX是压缩格式,需要它来解压 //第二部: using NPOI.SS.User ...
- 牛客寒假6-D.美食
链接:https://ac.nowcoder.com/acm/contest/332/D 题意: 小B喜欢美食. 现在有n个美食排成一排摆在小B的面前,依次编号为1..n,编号为i的食物大小为 a[i ...
- POJ-1181-食物链
链接:https://vjudge.net/problem/POJ-1182 题意: 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1 ...
- AtCoder Regular Contest 078 C
C - Splitting Pile Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement Snu ...
- 计算机中如何实现除数是2的幂次的除法【转载自CSDN】
前言: 本来是在看汇编里面的数据条件传送指令,做习题的时候看着这么一道有关于2的幂次方除法的题目.结果傻眼了,又尼玛不会了.........第二章看的时候就稀里糊涂的,看了几遍也没看太懂,这回又涉及到 ...
- idea获取激活码
访问地址拿到激活码:http://idea.lanyus.com/getkey