小白之Python-基础中的基础04
继续。。
------------------------华丽的分界线-----------------------------
Python-基础中的基础04
--之方法
格式:对象.方法()
1.append():用于在列表末尾追加新的对象---对应移除的方法是pop()
append方法与在java中的意义一致,都是直接修改原来列表/数组。并不是返回一个新的列表/数组
numberlist = [1,2,3,4,5,6]
numberlist.append(7)
print numberlist
----------
[1, 2, 3, 4, 5, 6, 7]
2.count():用于统计某个元素在列表中出现的次数
count = ['to','be','or','not','to','be',].count('to')
print count
----------------
2
x = [[1,2],1,1,[2,1,[1,2]]]
print x.count(1)
print x.count([1,2])
---------------
2
2
3.extend(): 用于在列表末尾一次性追加另一个序列中的多个值(两个列表合并的意思)
#extend方法会改变调用该方法序列的值
a = [1,2,3]
b = [4,5,6]
a.extend(b)
print a
print b
-------------
[1, 2, 3, 4, 5, 6]
[4, 5, 6]
#列表+连接方式不会改变原列表的值,a+b后生成一个新的列表序列
a = [1,2,3]
b = [4,5,6]
print a
print b
print a+b
-------------
[1, 2, 3]
[4, 5, 6]
[1, 2, 3, 4, 5, 6]
4.index:用于从列表中找出某个值第一个匹配项的。
maomao =['mao','mao','shi','zhi','zhu']
print maomao.index('zhu')
print maomao[4]
print maomao[len(maomao)-1]
print maomao[len(maomao)-1:]
print maomao.index('benben')
-----------------
4
zhu
zhu
['zhu']
print maomao.index('benben')
ValueError: 'benben' is not in list
5.insert:用于将对象插入到列表
两种方式:insert方法和分片方法
number = [1,2,3,5,6,7]
number.insert(3,'four') #insert方法
print number number[3:3]=['four2'] #分片方法
print number
---------------
[1, 2, 3, 'four', 5, 6, 7]
[1, 2, 3, 'four2', 'four', 5, 6, 7]
6.pop:移除列表中的一个元素,默认最后一个,并返回该元素的值
是唯一一个既能修改列表又返回元素值的列表方法
number = [1,2,3,5,6,7]
print number.pop() #唯一一个有返回值的列表方法,其他的如append、sort、reverse都没返回值
print number
print number.pop(4)
print number
print number.pop(len(number)-1)
print number
print ('-'*15)
print number.append(number.pop())
print ('-'*15)
number.append(number.pop())
print number
------------------------
7
[1, 2, 3, 5, 6]
6
[1, 2, 3, 5]
5
[1, 2, 3]
---------------
None #number.append(number.pop())中append(number.pop())没有返回值,所以调用后为None
---------------
[1, 2, 3]
7.remove:移除列表中某个值的第一个匹配项,但不返回该元素的值(与pop相反)
print ('-'*30)
maomao =['mao','mao','shi','zhi','zhu']
print maomao.remove('mao')
print maomao
------------------------------
None
['mao', 'shi', 'zhi', 'zhu']
8.reserve:将列表中的原色反向存放
#只能用于列表中
maomao =['mao','mao','shi','zhi','zhu']
maomao.reverse()
print maomao
----------------------
['zhu', 'zhi', 'shi', 'mao', 'mao']
reversed方法可用于列表或者序列
#reversed方法返回的不是列表,返回迭代器iterator对象,需要用liest转换城列表
number=[1,2,3]
print list(reversed(number))
----------------
[3, 2, 1] x="name"
print list(reversed(x))
---------------------
['e', 'm', 'a', 'n']
9.sort:用于在原位置对列表进行排序。会改变原有列表的元素顺序
#sort()方法调用后,直接改变x列表的元素顺序
x=[1,3,4,5,3,2,24,6,63,42,32]
x.sort() #x.sort()方法调用后,不会直接返回值,会返回空值,所以不能直接在调用别的方法
print x
----------------------------
[1, 2, 3, 3, 4, 5, 6, 24, 32, 42, 63]
但如即需要原列表值,又需要排序后的列表值,就需要把原列表copy出一份,在进行sort排序
copy方式有两种:
1.用分片方法,copy出列表
2.用sorted()方法,copy出列表,sorted方法适用于所有序列类型,返回值类型为list
#.用分片方法
x=[1,3,4,5,3,2,24,6,63,42,32]
y=x[:]
y.sort()
print x
print y
----------------------------
[1, 3, 4, 5, 3, 2, 24, 6, 63, 42, 32]
[1, 2, 3, 3, 4, 5, 6, 24, 32, 42, 63] #用sorted()方法
x=[1,3,4,5,3,2,24,6,63,42,32]
y=sorted(x)
print x
print y
----------------------------
[1, 3, 4, 5, 3, 2, 24, 6, 63, 42, 32]
[1, 2, 3, 3, 4, 5, 6, 24, 32, 42, 63] sorted方法适用于所有序列类型,返回值类型为list
sorted方法会返回列表,可继续调用其他方法,如逆序 print sorted('python')
----------------------------
['h', 'n', 'o', 'p', 't', 'y'] #sorted方法按照默认顺序排序 升序 x=sorted('python')
print x
print list(reversed(x))
----------------------
['h', 'n', 'o', 'p', 't', 'y']
['y', 't', 'p', 'o', 'n', 'h'] print sorted('python')
print list(reversed(sorted('python'))) #reversed方法返回的不会列表,返回迭代器对象,需要用liest转换城列表
----------------------
['h', 'n', 'o', 'p', 't', 'y']
['y', 't', 'p', 'o', 'n', 'h']
10.高级排序概念引入
compare(x,y)是一个比较函数
x<y,返回负数
x>y,返回正数
x=y,返回0
--->内建函数cmp实现该方式
print cmp(3,5)
print cmp(6,2)
print cmp(2,2)
--------------
-1
1
0 mm=[2,3,5,3,2]
mm.sort()
print mm
mm=[2,3,5,3,2]
mm.sort(cmp)
print mm
---------------
[2, 2, 3, 3, 5]
[2, 2, 3, 3, 5]
另一种排序方式,引入key函数,key函数作为排序的键,由用户自定义后赋值给sort
x=['wer','werwerq','trewtr','ewrewrwewer']
x.sort(cmp=None, key=len, reverse=False) # key值是序列元素的len长度
print x x=['wer','werwerq','trewtr','ewrewrwewer']
x.sort(key=len) #key值是序列元素的len长度
print x
---------------
['wer', 'trewtr', 'werwerq', 'ewrewrwewer']
['wer', 'trewtr', 'werwerq', 'ewrewrwewer']
。。。嗯,越来越多东西。。喵了个咪(o゚▽゚)o
小白之Python-基础中的基础04的更多相关文章
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换
[.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
- [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...
- [.net 面向对象编程基础] (8) 基础中的基础——修饰符
[.net 面向对象编程基础] (8) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改 ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- C++ 基础中的基础 ---- 引用
C++ 基础中的基础 ---- 引用 引用的概念:引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量.比如: int n ...
- python之基础中的基础(一)
python是一个效率极高的语言,现在市面上的机器学习大部分是由python和R语言完成,所以在不久之前小仙心中便种下了学习python的想法.下面是这一个月多月以来学习的总结,都是基础中基础了. 1 ...
- 【Python】编程小白的第一本python(基础中的基础)
一.变量 如果不知道变量是什么类型,可以通过type()函数来查看类型,在IDE中输入: print(type(word)) 另外,由于中文注释会导致报错,所以需要在文件开头加一行魔法注释 #codi ...
随机推荐
- DBSCAN学习笔记
基本概念 核心点:若某个点的密度达到算法设定的阈值,即ε-邻域内点的数量(包括自己)不小于minPts,则该点为核心点. 边界点:在ε-邻域内点的数量小于minPts,但是落在核心点邻域内的点. 噪声 ...
- C-02\规范及随机数rand()原理
小知识点 assert()函数 assert 断言函数,用于在调试过程中捕捉程序的错误.对某种假设条件进行检测,如果条件成立就不进行任何操作,如果条件不成立就捕捉到这种错误,并打印出错误信息,终止程序 ...
- 【rust】rsut基础:模块的使用一、mod 关键字、mod.rs 文件的含义等
本文内容 这篇文章是实战性质的,也就是说原理部分较少,属于经验总结,rust对于模块的例子太少了.rust特性比较多(悲),本文的内容可能只是一部分,实现方式也不一定是这一种. 关于 rust 模块的 ...
- 一篇文章带你弄懂Kerberos的设计思路
这篇文章将会带大家详细梳理和理解Kerberos的设计思路. Basic 为了减轻服务器的负担,我们需要设计一个专门的认证服务器AS,储存所有用户的口令,认证了用户身份之后再通知应用服务器 引入tic ...
- JZOJ 4320. 【NOIP2015模拟11.5】旅行
题目 思路 不想写了,直接使用 没错,关键就在求第 \(k\) 小的路径 上述提到堆的做法,我们可以用 \(STL\) 的优先队列来实现 只不过常数有点大~~~ \(Code\) #include&l ...
- Postgresql 定制执行计划pg_hint_plan
一.概述 Plan Hint是PG社区官方版"永远"不考虑引入的功能之一,社区开发者的理念是,引入Hint功能,会掩盖优化器本身的问题,导致缺陷不被暴露出来.但对于使用者来讲,遇到 ...
- python3.9不支持win7
安装:Anaconda3-2022.10-Windows-x86_64.exe 会报错:Failed to create Anaconda menus 详细信息:Error loading Pytho ...
- 关于hbulider开发工具微信小程序请求跨域
问题描述: 1.thinkphp设置了跨域请求设置 2.接口在浏览器模式正常请求 3.微信小程序请求显示跨域 解决方案:
- 常用的基本Dos命令
Windows+R: 输入cmd,运行控制台 #盘符切换: 盘名+: #查看当前目录下的所有文件: dir #切换目录: cd+文件名 #返回上一级: cd.. #清理屏幕: cls #退出终端: e ...
- Centos7 MyCat2 安装部署
部署MyCat2 之前需要搭建好数据库的主从,详看文档:mysql 主次数据库搭建 官网:http://www.mycat.org.cn/ 官方文档: https://www.yuque.com/cc ...