一、list   类, 列表

li = [1, 12, 9, "age", ["大白", "小黑"], "alex"]

1. 中括号括起来

2. 逗号分割每个元素

3. 列表中的元素可以是数字、字符串、列表、布尔值等

4. 索引取值

5. 切片取值---->得到的还是列表

6. for循环

7. while 循环

8. 支持 in 操作

列表在内存中是以链表形式存储,可以被修改

二、列表灰魔法

1.修改

li = [1, 12, 9, "alex", ["大白", "小黑"]]
li[1] = 120
print(li)

li = [1, 12, 9, "alex", ["大白", "小黑"]]
li[1: 3] = [120, 90]
print(li)

 

2.删除

li = [1, 12, 9, "alex", ["大白", "小黑"]]
del li[1]
print(li)

li = [1, 12, 9, "alex", ["大白", "小黑"]]
del li[0:3 ]
print(li)

3.操作

li = [1, 12, 9, "alex", ["大白", [7, 19]]]
v = li[4][1][0]
print(v

字符串转为列表

s = "dabai"
new_li = list(s)
print(new_li)

for i in 123:
print(i)

数字(int)不能进行for循环,不能用list 变为列表,因为字符串转换为列表,内部是进行了 for 循环。

列表转换为字符串

1.既有数字又有字符串时,自己写for循环

li = [11,22,33,"123", "alex"]
s = ""
for i in li:
s = s + str(i)
print(s)

2. 如果列表里只有字符串时,用字符串的join方法

li = ["123", "alex"]
v = "".join(li)
print(v)

三、列表的常用魔法

1.输入参数,在原来值最后追加,  None在python里表示空,什么都没有。因为 list 可以直接修改,所以不需要用 v 重新接受,直接用 li.appebd(5)  即可

li = [11, 22, 33, 44]
v = li.append(5)
print(li)
print(v)

li 对象调用了append 方法

li = [11, 22, 33, 44]
li.append([1234,2323])
print(li)

2.清空列表

li = [11, 22, 33, 44]
li.clear()
print(li)

3.拷贝,  浅拷贝

li = [11, 22, 33, 44]
v = li.copy()
print(v)

4. 计算元素出现的次数

li = [11, 22, 33, 22, 44]
v = li.count(22)
print(v)

5.扩展原列表,参数为可迭代对象(iterable为可迭代对象)

li = [11, 22, 33, 22, 44]
li.extend(["大白", "521"])
print(li)

extend 相当于内部有个for 循环,然后再 li.append()

li = [11, 22, 33, 22, 44]
li.extend("大白")
print(li)

6.根据值获取当前值索引位置,左边优先,可以指定起始位置

li = [11, 22, 33, 22, 44]
v= li.index(22)
print(v)

7. 在指定索引位置插入

li = [11, 22, 33, 22, 44]
li.insert(0, 99)
print(li)

8.默认删除列表最后一个,并获取被删除的值

li = [11, 22, 33, 22, 44]
v = li.pop()
print(li)
print(v)

指定索引删除

li = [11, 22, 33, 22, 44]
v = li.pop(1)
print(li)
print(v)

9. 删除列表中的指定值,左边优先

li = [11, 22, 33, 22, 44]
li.remove(22)
print(li)

10. 将当前列表进行翻转

li = [11, 22, 33, 22, 44]
li.reverse()
print(li)

11.列表的排序,默认是从小到大排

li = [11, 22, 33, 22, 44]
li.sort()
print(li)

也可以从大到小排

li = [11, 22, 33, 22, 44]
li.sort(reverse = True)
print(li)

也可以根据函数方面排序,目前未学。

python课堂整理4---列表的魔法的更多相关文章

  1. python课堂整理3---字符串魔法

    字符串魔法 1.首字母大写功能 test = "alex" v = test.capitalize() print(v) 2.所有变小写(casefold更厉害,可以将很多未知的其 ...

  2. python课堂整理19----迭代器和生成器

    一.概念 • 迭代器协议: 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个stopIteration异常,以终止迭代(只能往后走,不能往前退) • 协议是一种约定,pyt ...

  3. python课堂整理7---集合

    前面小节: sep 用来控制每个元素间的间隔符号 print("alex", "dabai", "liu", sep = "&qu ...

  4. python课堂整理6---字典

    一.字典  dict info = {"k1" : "v1", "k2" : "v2"} 以键值对形式组成字典 字典里的 ...

  5. python课堂整理5---元组

    一.元组   Tuple tu = (111, 22, 33, "alex", (11,22), [(33, 44)], True, ) 元组元素不可被修改,不能被增加或删除 一般 ...

  6. python课堂整理2

    一.字节和编码 1个字节是8位二进制 utf-8 表示一个中文要用3个字节 gbk 为中国汉字发明,2个字节可表示汉字 所以 utf-8 可以读gbk编码,而gbk去读utf-8 的内容会乱码 uni ...

  7. python课堂整理18---文件操作(下)

    一.b模式,字节方式(二进制的单位),rb wb ab f = open('test.py', 'rb', encoding = 'utf-8') 报错,因为用了b模式,就不能再指定编码格式了,已经指 ...

  8. python课堂整理17---文件操作(上)

    1.在同一目录下新建文本文件 “爱了” 2.在该文件下写入内容,同时留意pycharm右下角的编码格式为 utf- 8 3.下面程序中的read函数会索引系统默认的编码格式,winx下是gbk ,所以 ...

  9. python课堂整理16---内置函数

    1. abs :求绝对值 print(abs(-1)) 2. all()传入一个可迭代对象,对该对象进行bool值运算,若都为True 就返回True,有一个为假,就返回False print(all ...

随机推荐

  1. YARN分析系列之二 -- Hadoop YARN各个自模块说明

    先做如下声明,本代码版本是基于 3.1.2 版本. 其实,我们自己在写代码的时候,会有意识地将比较大的功能项独立成包,独立成module, 独立成项目,项目之间的关系既容易阅读理解,又便于管理. 如下 ...

  2. Android native进程间通信实例-binder篇之——简单的单工通信

    网上找了很多binder相关文章,大部分都是在跟踪binder实现源代码,然后再把框架代码贴出来,看着实在费力. 这篇文章从实际出发,直接用一个案例下手,后续想了解binder相关原理的话,可以参考& ...

  3. mogodbshell中数组对象查询修改方法

    在mongodb中,存在如下数据 { "_id" : ObjectId("59af55078a8fc5e51ff425de"), "title&quo ...

  4. Call调用webservice接口,使用命名空间和不使用命名空间的区别

    生活中我们会遇到许许多多的奇葩问题,而这些问题又是我们不得不解决的. 我先用一段代码来引出我想要说的内容: import javax.jws.WebMethod; import javax.jws.W ...

  5. 20 如何通过pycharm快速的创建一个html页面

    1.打开pycharm并且新建一个html页面,如下图所示. 2.删除html页面中默认的内容,之后在页面中输入!,之后点击tab即可完成一个html页面的框架新增.

  6. Windows下OSGEarth的编译过程

    目录 1. 依赖 1) OpenSceneGraph 2) GDAL 3) CURL 4) GEOS 5) 其他 2. 编译 1) 设置参数 2) 配置路径 3) 生成编译 3. 参考文献 1. 依赖 ...

  7. 一步到位安装Centos7、配置VMware、连接Xshell

    1.创建虚拟机 1.0 创建新的虚拟机 1.0.1 选择自定义配置 打开VMware,点击创建新的虚拟机. 如下图所示:   1.0.2 选择虚拟机硬件兼容性 如下图所示:   1.0.3 安装客户操 ...

  8. Java中到底是值传递还是引用传递?

    Java中到底是值传递还是引用传递? 我们先回顾一下基本概念 实参和形参 参数在编程语言中是执行程序需要的数据,这个数据一般保存在变量中.在Java中定义一个方法时,可以定义一些参数, 举个例子: p ...

  9. 思维导图xmind的使用方法

    什么是Xmind Xmind是一款简单好用的思维导图软件,除了可以轻松绘制基本逻辑图,还支持组织结构图(竖直).树状图(水平+竖直).思维导图(辐射).鱼骨图.二维图(表格)模型.免费版可以把思维导图 ...

  10. 手动启动log4j|nginx实现http https共存

    手动加载log4j.xml文件 DOMConfigurator.configure("src/main/resources/log4j.xml"); log4j.propertie ...