python课堂整理4---列表的魔法
一、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---列表的魔法的更多相关文章
- python课堂整理3---字符串魔法
字符串魔法 1.首字母大写功能 test = "alex" v = test.capitalize() print(v) 2.所有变小写(casefold更厉害,可以将很多未知的其 ...
- python课堂整理19----迭代器和生成器
一.概念 • 迭代器协议: 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个stopIteration异常,以终止迭代(只能往后走,不能往前退) • 协议是一种约定,pyt ...
- python课堂整理7---集合
前面小节: sep 用来控制每个元素间的间隔符号 print("alex", "dabai", "liu", sep = "&qu ...
- python课堂整理6---字典
一.字典 dict info = {"k1" : "v1", "k2" : "v2"} 以键值对形式组成字典 字典里的 ...
- python课堂整理5---元组
一.元组 Tuple tu = (111, 22, 33, "alex", (11,22), [(33, 44)], True, ) 元组元素不可被修改,不能被增加或删除 一般 ...
- python课堂整理2
一.字节和编码 1个字节是8位二进制 utf-8 表示一个中文要用3个字节 gbk 为中国汉字发明,2个字节可表示汉字 所以 utf-8 可以读gbk编码,而gbk去读utf-8 的内容会乱码 uni ...
- python课堂整理18---文件操作(下)
一.b模式,字节方式(二进制的单位),rb wb ab f = open('test.py', 'rb', encoding = 'utf-8') 报错,因为用了b模式,就不能再指定编码格式了,已经指 ...
- python课堂整理17---文件操作(上)
1.在同一目录下新建文本文件 “爱了” 2.在该文件下写入内容,同时留意pycharm右下角的编码格式为 utf- 8 3.下面程序中的read函数会索引系统默认的编码格式,winx下是gbk ,所以 ...
- python课堂整理16---内置函数
1. abs :求绝对值 print(abs(-1)) 2. all()传入一个可迭代对象,对该对象进行bool值运算,若都为True 就返回True,有一个为假,就返回False print(all ...
随机推荐
- hadoop之hive高级操作
在输出结果较多,需要输出到文件中时,可以在hive CLI之外执行hive -e "sql" > output.txt操作 但当SQL语句太长或太多时,这种方式不是很方便,可 ...
- 分享android ADT百度云盘下载地址
由于android官网经常无法打开,特意把最新的android ADT和SDK放到了百度云盘进行了分享,目录中包含Windows和Macbook两种平台的版本,请自行选择: http://pan.ba ...
- 通往Google之路:***
*** & BBR 安装 系统支持:CentOS 6+, Debian 7+, Ubuntu 12+ 内存要求:≥128M --- 前提 满足以上要求的VPS服务器一台 安装基础命令工具:yu ...
- 解决Nextcloud 无法删除目录
1)进入维护模式 sudo -u www php /www/wwwroot/192.168.40.159/occ maintenance:mode --on 2)使用mysql命令行工具,在nextc ...
- Go语言学习——彻底弄懂return和defer的微妙关系
疑问 前面在函数篇里介绍了Go语言的函数是支持多返回值的. 只要在函数体内,对返回值赋值,最后加上return就可以返回所有的返回值. 最近在写代码的时候经常遇到在return后,还要在defer里面 ...
- IM推送保障及网络优化详解(二):如何做长连接加推送组合方案
对于移动APP来说,IM功能正变得越来越重要,它能够创建起人与人之间的连接.社交类产品中,用户与用户之间的沟通可以产生出更好的用户粘性. 在复杂的 Android 生态环境下,多种因素都会造成消息推送 ...
- hdoj1009 FatMouse' Trade——贪心算法
贪心思路:按单位猫粮能兑换到的javaBean从大到小将组合进行排序,总是在当前兑换尽可能多的javabeans 问题描述:点击打开链接 hdoj1009 FatMouse's Trade 源代码: ...
- Docker启动一个Centos镜像,在docker中安装ifconfig和ssh
执行docker search centos 现在最流行的Linux嘛.查了下,排名第一的(STARS最多1882)官方版,就是你了 果断拿下, docker pull centos,看网速了静等拿下 ...
- 我以为我对Mysql索引很了解,直到我遇到了阿里的面试官
GitHub 4.8k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 4.8k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 4.8k Star 的 ...
- linux c库函数大全
Linux C函数库参考手册 [转自ChinaUnix]第1章字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)isascii(测试字符是否为ASCI ...