社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

手把手带你学 Python3 | 列表使用一文就够了

生信菜鸟团 • 5 年前 • 593 次点击  

如果还没有安装入门环境首选 pycharm ,可以参见 三剑客 PyCharm 小试

学习编程语言的起点绕不过语法基础,快速掌握规范代码可以参见 手把手带你学 Python3 | 编程基础与规范代码


今天的主题是数据结构之一的列表,熟练这些常规方法会使结果文件处理能力大幅提高。

定义

列表是包含有索引的元素集,元素可由字符、数字、字符串及子列表组成,用 list = []表示。

基本操作

首先要记忆的是,在python中,索引是从 0开始计数的,因此第三个元素使用 list[2]来表示,如果列表中有子列表,那么就可以用 list[][]来获得对应的元素。列表也包含一些简单的内置函数:

  1. 增加元素
    list.append(obj) 在列表末尾添加新的元素 
    list.insert(index,obj) 能够在列表任意位置添加新的元素。

  2. 删除元素
    list.pop(index) 移除索引位置的元素,同时会返还被移除元素的值。#弹出元素
    del list[index] 移除移除索引位置的元素,但不返回移除元素的值,注意中间是空格。
    list.remove(obj) 移除第一个匹配到的元素。

  3. 修改元素
    list[index] = obj

  4. 查找元素
    list.index('obj')

  5. 列表排序
    sort(list) 永久性排序。
    temp_list = sorted(list) 返回一个新建的已排序列表。
    list.sort(reverse=Ture) 反向排序。

常用处理方式

len(list) 
list.count(obj)
max(list)
min(list)

切片

即对列表的元素的进行处理,取其中的一部分。
首先看一个基本的语法,list[start:end:step]。start指截取的第一个元素的索引位置,默认是0;end指截取元素范围的第二个索引位置;这里要注意的是取元素左闭右开,即取头不取尾。列表最后的一个元素可以用 [-1]表示。step表示步长,理解为截取间隔,默认为1。对列表的方式就有很丰富了。
例如:
list[5:] 从第六个元素开始取
list[-3:] 取最后三个元素
list[::2] 取列表偶数列
list[1::2] 取列表奇数列
list[::-1] 列表元素逆序 
list[1:1] = ['a','b'] 在第二位置批量添加元素

其他操作

  # list() 函数
  print(list('abc'))

  ['a','b','c']

  #判断元素是否在列表中
  a = 'str' in list
  print(a)

  True or False

  #拼接列表的三种方式
  list1 + list2
  list*3
  list1.extend(list2)


熟练掌握列表的处理,就可以慢慢开始处理文本啦,这会比awk或sed更加好用。



▼ 如果你生信基本技能已经入门,需要提高自己,请关注下面的生信技能树,看我们是如何完善生信技能,成为一个生信全栈工程师。

▼ 如果你是初学者,请关注下面的生信菜鸟团,了解生信基础名词,概念,扎实的打好基础,争取早日入门。

猜你喜欢:

【热点】三剑客 PyCharm 小试

热点编程基础与规范代码

Shell文本处理三剑客使用小技巧 |awk grep sed +正则表达式

青蒿素科普贴

2019年五篇Cell文献阅读集锦

circRNA实验新更 - circRNA实验设计优化方案笔记

植物杂志 PP & PJ 都在用的研究思路

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/36101
 
593 次点击