三、python沉淀之路--列表(list)
一、列表提供的一些方法
1、append():在原值最后追加
li = [11,22,33,44,55,]
li.append(99)
print(li)
li.append('中国')
print(li)
[11, 22, 33, 44, 55, 99]
[11, 22, 33, 44, 55, 99, '中国']
2、clear():清空列表
li = [11,22,33,44,55,]
li.clear()
print(li)
3、copy:拷贝,而且是浅拷贝,有返回值
li = [11,22,33,44,55,]
li1=li.copy()
print(li1)
4、count:计算列表中某元素出现的次数,有返回值
li = [11,22,33,22,44,22,55,]
n = li.count(22)
print(n)
返回值:3
5、extend:扩张原列表,参数必须是 可迭代对象
li = [11,22,33,22,44,22,55,]
li.extend(['北京’,‘长安街'])
print(li) for i in ['北京','长安街']: #extend实际上相当于进行了for循环和append的组合应用
li.append(i)
print(li) li.extend("北京") #字符串也是可迭代对象,经过extend后把每个元素分开加进去
print(li)
li.extend("abc")
print(li) li.append(['北京','长安街']) #对比后,append会把整体加到列表最后,不会分开加进去
print(li)
[11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街']
[11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街', '北京', '长安街']
[11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街', '北京', '长安街', '北', '京']
[11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街', '北京', '长安街', '北', '京', 'a', 'b', 'c']
[11, 22, 33, 22, 44, 22, 55, '北京’,‘长安街', '北京', '长安街', '北', '京', 'a', 'b', 'c', ['北京', '长安街']]
6、index:获取对应值的索引位置(左边优先)
li = [11,22,33,22,44,22,55,]
n = li.index(22)
print(n)
返回值:1
7、insert:在指定位置插入元素
li = [11,22,33,22,44,22,55,]
li.insert(0,77)
print(li)
[77, 11, 22, 33, 22, 44, 22, 55]
8、pop:删除某个值,并且可以获取删除的值,删除分两种:一种默认删除最后一个;二是指定索引位置删除某元素
li = [11,22,33,22,44,22,55,]
s = li.pop()
print(li)
print(s)
s1 = li.pop(0)
print(li)
print(s1)
[11, 22, 33, 22, 44, 22]
55
[22, 33, 22, 44, 22]
11
9、remove:删除指定的元素
li = [11,22,33,22,44,22,55,]
li.remove(33)
print(li)
[11, 22, 22, 44, 22, 55]
总结:目前位置已经学了物种删除方法: pop remove del li[2] del li[1:4] clear
10、reverse:将当前列表进行反转
li = [11,22,33,22,44,22,55,]
li.reverse()
print(li)
[55, 22, 44, 22, 33, 22, 11]
11、sort:排序,默认从小到大排序,括号里设为真时,从大到小排序
li = [11,55,22,33,22,44,22,]
li.sort()
print(li)
li.sort(reverse=True)
print(li)
[11, 22, 22, 22, 33, 44, 55]
[55, 44, 33, 22, 22, 22, 11]
同类方法,后面还要学 :cmp key sorted
二、列表的其他常用方法
1、列表里面可以嵌套任何形式。里面的元素可以是 数字、列表、字符串、布尔值等等
2、可以索引取值
print(li[3])
3、可以切片,获取片段,片段还是列表
print(li[2:5])
print(li[3:-1])
4、可以进行for 循环,因为是可迭代的,也可以whlie循环,
5、列表生成后,可以修给里面的元素; 字符串一旦生成后,里面的元素不可修改
6、可以索引修改、删除里面的元素
li = [11,55,22,33,22,44,22,]
#索引修改值
li[0]=9
print(li)
#索引删除值
del li[1]
print(li)
[9, 55, 22, 33, 22, 44, 22]
[9, 22, 33, 22, 44, 22]
7、切片获取片段,切片删除片段
li2 = [11,55,22,33,22,44,22,]
#切片
ss = li2[2:-1]
print(ss)
#删除一段
del li2[2:-1]
print(li2)
[22, 33, 22, 44]
[11, 55, 22]
8、in 操作、 深度索引操作
li = [22,44,5,7,"china",[99,"nice"],"good",True]
v1 = 22 in li
print(v1)
v2 = "nice" in li
print(v2) v = li[5][1]
print(v)
True
False
nice
9、转换
str 转 int
s = ""
n = int(s)
print(n)
int 转str
n = 1223454
s = str(n)
字符串转列表
s = "abcdefg"
li = list(s)
print(li)
['a', 'b', 'c', 'd', 'e', 'f', 'g']
列表转字符串:分两种:一是列表里只有字符串形式的元素,这时既可用for循环,又可用join法;二是列表里除了有字符串,还有其他类型,只能用for循环
li = [22,4,4,66,"hello","world"]
s = ""
for i in li:
s =s + str(i)
print(s) li2 = ["hello","world"]
s = "".join(li2)
print(s)
224466helloworld
helloworld
10、补充
字符串创建以后不可以被修改
s = "abcdefg"
s1=s.replace("a","") #这里的改动,不是把原来的改了,而是在内存里另外开辟了一块空间,将新的字符串存起来了,通过下面两个print输出结果可以证明
print(s)
print(s1)
abcdefg
0bcdefg
字符串不可以通过索引来修改
#########i列表有序,元素可以被修改###############
类与对象的区别
三、python沉淀之路--列表(list)的更多相关文章
- 十七、python沉淀之路--三元表达式、列表解析
一.三元表达式 a = '骑车' res = '好天气' if a == '骑车' else '睡觉' print(res) 睡觉 解析:res = '好天气' if a == '骑车' ...
- 十八、python沉淀之路--生成器
一.生成器 生成器总结:语法上和函数类似:生成器函数和常规函数几乎是一样的.他们都是使用def语句进行定义,差别在于生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值.自动实 ...
- 十六、python沉淀之路--迭代器
一.迭代器 1.什么是迭代器协议:对象必须提供一个next方法,执行该方法要返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代(只能往后走,不能往前走). 2.可迭代对象:实 ...
- 七、python沉淀之路--集合
一. 1.字符串转集合 s = 'hello' se = set(s) print(se) {'e', 'o', 'h', 'l'} 2.列表转集合 l1 = ['hello','python','n ...
- 十五、python沉淀之路--eval()的用法
一.eval函数 python eval() 函数的功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法:eval(source[, globals[, locals]]) -> v ...
- 十三、python沉淀之路--文件操作
一.文件的读操作 例1 f = open('学习',encoding='utf-8') #首先要打开文件,不然直接读,是读不出来的 data = f.read() #read后的括号里不添加任何东西 ...
- 九、python沉淀之路--递归、全局变量、局部变量、作用域
一.递归 1.递归函数,同时使用嵌套,并且是将别的函数作用于调用函数里面 例1 num = [1,2,3,4,5] def add_one(i): return i+1 def reduce(i): ...
- 六、python沉淀之路--int str list tuple dict 重点总结
一.数字int(..)二.字符串replace/find/join/strip/startswith/split/upper/lower/formattempalte = "i am {na ...
- 五、python沉淀之路--字典
一. 1.根据序列,创建字典,并指定统一的值 v = dict.fromkeys(["],222) print(v) {': 222} 2.根据key 获取值,key不存在时,报错:get方 ...
随机推荐
- 用matlab将nc数据读出来,写成二进制文件,然后用grads画图
clear,clc nt=735;ny=73; %2.5*2.5格点的nx=144; %2.5*2.5格点的f=netcdf('air.mon.mean.nc','nowrite');tt ...
- Linux软件包管理 RMP包管理
概述 RPM 包的命名一般都会遵守统一的命名规则,例如: httpd-2.2.15-15.el6.centos.1.i686.rpm 其中的各项代表的含义如下: httpd:软件包名. 2.2.15: ...
- bootstrap 模态框中弹出层 input不能获得焦点且不可编辑
bootstrap 模态框中弹出层 input不能获得焦点且不可编辑 问题描述:bs框架支持一层model层的情况下,在模态框中弹出了自定义的弹出层.发现自定义弹出层的输入框不能获得焦点且不可编辑. ...
- Bootstrap3组件--1
目录 1. Glyphicons字体图标 2.下拉菜单 3.按钮组 4. 输入框组 5.导航 6. 导航条 7. 路径导航 1. Glyphicons字体图标 出于性能的考虑,所有图标都需要一个基类 ...
- JMeter学习(一)目录介绍
JMeter也学了一阵子了,对于基本的操作已了解,再回过头来看看Jmeter的目录,本篇是对于它的目录进行一些简单的介绍. JMeter解压之后打开,根目录如下图: 1.bin:可执行文件目录 2.d ...
- 【简单dp】poj 1458 最长公共子序列【O(n^2)】【模板】
最长公共子序列可以用在下面的问题时:给你一个字符串,请问最少还需要添加多少个字符就可以让它编程一个回文串? 解法:ans=strlen(原串)-LCS(原串,反串); Sample Input abc ...
- Shell脚本实现SSH免密登录及批量配置管理
本节索引 场景分析 ssh免密登录 pssh工具批量管理 SHELL自动化脚本 本篇总结 场景分析 作为一个运维工程师,不是每个人工作的环境都想阿里.腾讯那样,动不动就上亿的PV量,上万台服务器.我们 ...
- Linux 内核是如何构建
https://github.com/MintCN/linux-insides-zh 介绍 我不会告诉你怎么在自己的电脑上去构建.安装一个定制化的 Linux 内核,这样的资料太多了,它们会对你有帮助 ...
- 使用iView时报"Parsing error: x-invalid-end-tag"错误的解决方案
一. 问题日志 二. 问题原因iView将标签渲染为原生html标签时,由于这些标签是自闭合的,所以有end标签会报错. 三. 解决方案修改配置文件,忽略该项检查: 根目录下 - .eslintrc. ...
- 手把手教你安装SSL证书升级https
是不是觉得别人网站前面的小绿锁很好看? 而且,Google官方也正式承认过https是影响搜索排名的一个因素,那么如何将自己的网站全面升级为https呢?今天的内容就介绍一下如何将部署在Nginx的W ...