一、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. abp(net core)+easyui+efcore仓储系统——展现层实现增删改查之控制器(六)

    abp(net core)+easyui+efcore仓储系统目录 abp(net core)+easyui+efcore仓储系统——ABP总体介绍(一) abp(net core)+easyui+e ...

  2. 源码解读·RT-Thread小内存管理算法分析

    这篇文章最初发布在RT-Thread官方论坛中,最近准备整理放到博客中来让更多人一起探讨学习. 2012年9月28日星期五 前言: 母语能力有限 概述: 这篇文字和大家分享一下今晚对RT-Thread ...

  3. Redis相关面试题

    Reids:单线程+io多路复用机制 Redis与Memcached的区别: 一.memcached值是简单字符串,redis支持hash.set.list等复杂数据类型 二.redis可持久化数据, ...

  4. 机器学习之支持向量机原理和sklearn实践

    1. 场景描述 问题:如何对对下图的线性可分数据集和线性不可分数据集进行分类? 思路: (1)对线性可分数据集找到最优分割超平面 (2)将线性不可分数据集通过某种方法转换为线性可分数据集 下面将带着这 ...

  5. Hive 学习之路(四)—— Hive 常用DDL操作

    一.Database 1.1 查看数据列表 show databases; 1.2 使用数据库 USE database_name; 1.3 新建数据库 语法: CREATE (DATABASE|SC ...

  6. spring 5.x 系列第22篇 —— spring 定时任务 (代码配置方式)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.说明 1.1 项目结构说明 关于任务的调度配置定义在ServletCo ...

  7. Node中的cookie的使用

    1.为什么使用cookie? 因为HTTP是无状态协议.简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到,这是同一个浏览器在访问同一个网站.每一次的访问,都是没有任何关系 ...

  8. 前端页面统计beacon调研

    目录 为什么使用beacon beacon特性 beacon 示例 参考资料 主要用于测试html的新特性beacon,使用beacon向后端发送请求,代替xhr或jsonp, 好处是支持页面unlo ...

  9. python面试题(三)列表操作

    接上一篇............. 0x01:列表的去重操作 al = [1, 1, 2, 3, 1, 2, 4] #set方法元素去重 al_set = set(al) print(list(al_ ...

  10. Analysis of requirement specification of parking management system

    Analysis of requirement specification of parking management system PURPOSE OF THE SYSTEM The parking ...