python学习-可变list的基本操作_「已注销」的博客-程序员秘密

技术标签: python学习  

出自:https://blog.csdn.net/Solo95/article/details/78744887

Python一共有6种序列的内置类型,list和tuple是其中最常见的。6种序列的都可以进行的操作包括索引、切片,加(实际上是连接),乘(实际上是复制),检查成员是否存在。

Python list

list格式:以大括号作为识别符, 元素之间以”,”间隔, 末尾加不加”;”语法上都没错。

list = [元素1,元素2,…]; //;可省略

list的元素可以是任何数据类型,也可以是另一个list(即类型多维数组那样的嵌套类型)。

其他语言里面的数组严格限定序列里面的元素必须是同种元素,但是请注意,虽然list跟数组有操作重叠的地方,但与数组(即线性表)是完全不同的数据结构。

list1 = ['apple', 'banana', 'cabbage'];
list2 = [1, 2, 3, 4]
list3 = ['one', 2, True, 3.14];
list4 = ['abc', list1, list2];
#list里面的元素可以是同种元素 也可以是不同种元素 还可以是另一个list
  • 1
  • 2
  • 3
  • 4
  • 5

基本操作

list中每个元素都分配了一个索引,从0开始,类似数组的下标,可以利用索引实现随机存取和更改。

>>> list = ['a', 'b', 'c', 'd']
>>> list[1]
'b'
>>> list[1] = 'g'
>>> list[1]
'g'
>>> del list[1] #del可以用来删除其中的元素
>>> list
['a', 'c', 'd']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Python更为优越的是,可以利用负数索引反向读取,即-1表示倒数第一个,以此类推。除此之外还可以进行截取操作。

>>> list = ['a', 'b', 'c', 'd']
>>> list[-1]
'd'
>>> list[1:]
['b', 'c', 'd']
  • 1
  • 2
  • 3
  • 4
  • 5

当使用不存在的元素的索引时,会报错。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
#事实上,最后一行英文的翻译为:索引错误: list索引超出范围。英文好事半功倍。
  • 1
  • 2
  • 3
  • 4

Python list 脚本操作符

Python表达式 结果 描述
len([1, 2, 3,4]) 4 求list长度
[1, 2, 3] + ['a', 'b', 'c'] [1, 2, 3, 'a', 'b', 'c'] “+”实际上是连接
['a'] * 3 ['a','a','a'] “*” 实际上是复制
3 in [1, 2, 3, 4] True 检查成员是否存在
for i in [1, 2, 3, 4] print(x) 1 2 3 4 迭代

Python list 函数&方法

Python内置以下操作list的函数:

函数 说明
cmp(list1, list2) 比较两个列表的元素,比较方法与其他语言字符串的比较相同。
len(list) 求列表元素个数。
max(list) 返回列表元素最大值
min(list) 返回列表元素最小值
list(tuple) 将元组转换为列表

Python list包含以下方法:

方法 说明
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素
list.sort([func]) 对原列表进行排序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/kangkang_hacker/article/details/80504123

智能推荐

Spring结合junit进行单元测试_单测runaftertestmethodcallbacks_archer.wu的博客-程序员秘密

Spring结合junit进行单元测试在进行单元的测试的时候比较头疼的就是,如果使用了spring,那么需要手动的进行对类进行初始化,比如最常见的service和service的实现类serviceimpl。现在就介绍一个不是很新的测试方法。采用junit进行单元测试。下面是一些要点:1、采用的spring的jar包和spring-test的jar包是同样版本的。

浅谈Linq的五个优点_linq好处_灭离的博客-程序员秘密

<br />关于微软的语言集成查询(Language Integrated Query,简称LINQ),你可能还没有听说,或者听说过之后没有去深入了解就将其扔到一边。<br />   不过值得一提的是,LINQ有别于多数新技术,它值得你去了解并使用,因为它的确可以完成自己所宣称的功能,绝无夸大自身能力之嫌。经过近一<br />年对LINQ的使用经历,我感觉它没有令我失望,这一点与我试用的很多其它新技术是完全不同的。LINQ非常易用而且可靠。这并非我的个人观点,微<br />软之外的众多开发者已经纷纷开始为其

Python 之 C/C++ 混合编程_怎么用python写c++_戈 扬的博客-程序员秘密

一、问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结。二、Python调用C/C++1、Python调用C动态链接库Python调用C库比较简单,不经过任何封装打包成so,再使用python的ctypes调用即可。(1)C语言文件:pycall.c/***gcc -o libpycall.so -shared -fPIC pycall.c*...

Cleaner ITweenPath Source_weixin_30662109的博客-程序员秘密

iTweenPath.cs[pyg language="csharp" s="monokai" ]//Slight additions for a cleaner interface by Jacob Pennock//source by Bob Berkebile : Pixelplacement : http://www.pixelplacement.comu...

kata-container安装步骤_我是干饭人的博客-程序员秘密

kata-container安装步骤准备工作准备工作kata-container, core的snap格式的安装文件,可以通过能访问国外服务器的机器通过snap下载,下载命令为snap download coresnap download kata-container若成功执行上述命令,可得到对应软件的*.assert和*.snap文件,然后将文件下载到要安装kata-container的机器上。...

什么是云开发?小程序实例超详细演示~_什么是云开发csdn_Baret-H的博客-程序员秘密

学习视频:八分钟读懂云开发_哔哩哔哩_bilibili小姐姐带你30分钟创建并上线小程序项目【云开发实战】_哔哩哔哩_bilibili参考资料:微信开放文档 (qq.com)云开发_百度百科 (baidu.com)推荐阅读:云原生推动全云开发与实践 - 知乎 (zhihu.com)云开发 - 腾讯云 (tencent.com)项目源码:关注公众号BaretH后台回复 云开发 获取当今时代,千行百业都在拥抱云计算和云原生,进行数字化创新和升级。我们也在前一篇文章中了解到底.

随便推点

ISCSI网络存储服务_iscsi内容读取_南瓜啊的博客-程序员秘密

1 安装服务服务端:yum install targetcli -y #安装共享磁盘服务systemctl start target #启动服务targetcli #打开设置客户端:yum install iscsi-initiator-utils.64_86 -y #安装

【element】el-carousel走马灯一个页面放多个元素展示_el-carousel一次展示多个_前端小云儿的博客-程序员秘密

&lt;template&gt; &lt;div&gt; &lt;el-carousel indicator-position="outside" :autoplay="false"&gt; &lt;el-carousel-item v-for="item in result" :key="item" class="carousel-content" &gt; &lt;div v-for="(el, i...

H.264详解_zsybuck的博客-程序员秘密

H.264详解(上)为什么叫H.264    H.264是一种视频高压缩技术,全称是MPEG-4 AVC,用中文说是“活动图像专家组-4的高等视频编码”,或称为MPEG-4 Part10。它是由国际电信标准化部门ITU-T和规定MPEG的国际标准化组织ISO/国际

vim替换详解_jjjlike的博客-程序员秘密

Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以想象的操作。如果你比较熟悉Perl的正规表达式,可以直接参照与Perl正则表达式的区别一节。一、使用正则表达式的命令使用正则表达式的命令最常见的就是 / (搜索)命令。其格式如下:/正则表达式另一个很有用的命令就是 :s(替换)命令,将第一个//之间的正则表达式替换成第二个//之间

使用微软Monaco Editor 编写在线调试工具_ngx-monaco-editor_Caco.D的博客-程序员秘密

前言微软之前有个项目叫做Monaco Workbench,后来这个项目变成了VS Code,而Monaco Editor就是从这个项目中成长出来的一个web编辑器,所以Monaco Editor和VS Code在编辑代码,交互以及UI上几乎是一摸一样的,有点不同的是,两者的平台不一样,Monaco Editor基于浏览器,而VS Code基于electron,所以功能上VSCode更加健全,并且性能比较强大。本文主要介绍ng-zorro 框架集成Monaco Editor实现HTML 在线调试器。Mona

urlopen error unknown url type: https如何解决?_z765691735的博客-程序员秘密

运行python时出现:ine 1425, in unknown_open raise URLError('unknown url type: %s' % type)urllib.error.URLError: &lt;urlopen error unknown url type: https&gt;应该如何解决?

推荐文章

热门文章

相关标签