一、list概述

  list (列表)是python中最常用的数据类型之一,通过列表可以对数据实现最方便的存储,修改等操作。在python3中,list支持如下方法:

Help on class list in module builtins:

class list(object)
| list() -> new empty list
| list(iterable) -> new list initialized from iterable's items
|
| Methods defined here:
|
| __add__(self, value, /)
| Return self+value.
|
| __contains__(self, key, /)
| Return key in self.
|
| __delitem__(self, key, /)
| Delete self[key].
|
| __eq__(self, value, /)
| Return self==value.
|
| __ge__(self, value, /)
| Return self>=value.
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __getitem__(...)
| x.__getitem__(y) <==> x[y]
|
| __gt__(self, value, /)
| Return self>value.
|
| __iadd__(self, value, /)
| Implement self+=value.
|
| __imul__(self, value, /)
| Implement self*=value.
|
| __init__(self, /, *args, **kwargs)
| Initialize self. See help(type(self)) for accurate signature.
|
| __iter__(self, /)
| Implement iter(self).
|
| __le__(self, value, /)
| Return self<=value.
|
| __len__(self, /)
| Return len(self).
|
| __lt__(self, value, /)
| Return self<value.
|
| __mul__(self, value, /)
| Return self*value.n
|
| __ne__(self, value, /)
| Return self!=value.
|
| __new__(*args, **kwargs) from builtins.type
| Create and return a new object. See help(type) for accurate signature.
|
|
| __repr__(self, /)
| Return repr(self).
|
| __reversed__(...)
| L.__reversed__() -- return a reverse iterator over the list
|
| __rmul__(self, value, /)
| Return self*value.
|
| __setitem__(self, key, value, /)
| Set self[key] to value.
|
| __sizeof__(...)
| L.__sizeof__() -- size of L in memory, in bytes
|
| append(...)
| L.append(object) -> None -- append object to end
|
| clear(...)
| L.clear() -> None -- remove all items from L
|
| copy(...)
| L.copy() -> list -- a shallow copy of L
|
| count(...)
| L.count(value) -> integer -- return number of occurrences of value
|
| extend(...)
| L.extend(iterable) -> None -- extend list by appending elements from the iterable
|
| index(...)
| L.index(value, [start, [stop]]) -> integer -- return first index of value.
| Raises ValueError if the value is not present.
|
| insert(...)
| L.insert(index, object) -- insert object before index
|
| pop(...)
| L.pop([index]) -> item -- remove and return item at index (default last).
| Raises IndexError if list is empty or index is out of range.
|
| remove(...)
| L.remove(value) -> None -- remove first occurrence of value.
| Raises ValueError if the value is not present.
|
| reverse(...)
| L.reverse() -- reverse *IN PLACE*
|
| sort(...)
| L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __hash__ = None

二、list操作

  • 定义列表

  定义一个列表很简单,使用[]括号将元素包裹起来即可,元素与元素之间使用‘,’分隔。    

 names = ['liu', 'shi', 'yi', 10, 27]
  • 访问列表

  访问列表使用下标访问,下标从0开始计数。访问列表中的元素有多种访问方式:正取,倒取。

>>> names = ['liu', 'shi', 'yi', 10, 27]
>>> names[1]
'shi'
>>> names[3]
10
>>> names[-1]
27
>>> names[-2] # 还可以倒着取
10
  • 修改列表

  修改列表直接通过列表的下标对其对应的值进行修改即可。

>>> names
['liu', 'test', 'yi', 10, 27]
>>> names[-2] = 'test1'
>>> names
['liu', 'test', 'yi', 'test1', 27]
  • 删除列表

  删除列表有多种删除方式,可以通过del关键字、remove()方法,pop()方法对列表中的元素进行删除。

>>> names
['liu', 'test', 'yi', 'test1', 27]
>>> del names[0] # 通过del关键字删除指定下标的元素
>>> names
['test', 'yi', 'test1', 27]
>>> del names[-1]
>>> names
['test', 'yi', 'test1']
>>> names.remove('test1') # 通过remove方法删除指定的元素
>>> names
['test', 'yi']
>>> names.pop() # 弹出并删除最后一个元素
'yi'
>>> names.pop(-1) # 弹出并删除指定位置的元素
'test'
>>> names
[]
>>> del names # 删除整个列表
>>> names
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'names' is not defined

  list中的pop方法要格外的注意,该方法具有弹出和删除两个特性,在删除指定的元素的同时会返回该元素。

三、列表支持的特性

  • 切片特性

  list除了支持一次获取单个元素的特性以外,还支持一次获取多个元素,获取的多个元素以list的形式返回。

>>> names = ['liu', 'shi', 'yi', 10, 27]
>>> names[1:4]
['shi', 'yi', 10]
>>> names[1:-1]
['shi', 'yi', 10]
>>> names[1:]
['shi', 'yi', 10, 27]
>>> names[:3]
['liu', 'shi', 'yi']
>>> names[1:]
['shi', 'yi', 10, 27]
>>> names[::2]
['liu', 'yi', 27]

  list的切片特性如下:

  list[起始元素:终止元素:步长],切片后返回的list不包含终止元素,步长默认为1。

  • 追加特性

  list可以在其最后使用append方法追加一个元素  

>>> names.append('test')
>>> names
['liu', 'shi', 'yi', 10, 27, 'test']
  • 插入特性

  list除了在其最后追加元素之外,还可以在指定位置插入元素,使用insert()方法追加元素。

>>> names.insert(1,'hello world')
>>> names
['liu', 'hello world', 'shi', 'yi', 10, 27, 'test']
  • 扩展特性

  所谓的扩展是将两个list合并到一起,但是和“+”操作符是有区别的。

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6, 4, 5, 6]
>>> a
[1, 2, 3, 4, 5, 6]

  extend()方法会修改list,而+不会修改,仅仅返回+之后的结果。

  • 统计特性

  list中的count方法可以统计出某个元素出现的次数

>>> names.count(10)
1
  • 翻转特性

   使用reverse()方法可以对list中的元素进行翻转

>>> names.reverse()
>>> names
['test', 27, 10, 'yi', 'shi', 'hello world', 'liu']
  • 获取下标

  使用index()方法,获取某个元素的下标。

 

>>> names.index(27)
1

四、元组

  元组其实和列表差不多,也是存放一组数据,只不过是它一旦创建,便不能修改,所以又叫只读列表。

class tuple(object)
| tuple() -> empty tuple
| tuple(iterable) -> tuple initialized from iterable's items
|
| If the argument is a tuple, the return value is the same object.
| Return self==value.
| Methods defined here:
| __ge__(self, value, /)
| __add__(self, value, /)
| Return self+value.
| __getattribute__(self, name, /)
| __contains__(self, key, /)
| Return key in self.
|
| __eq__(self, value, /)
| Return self==value.
|
| __ge__(self, value, /)
| Return self>=value.
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __getitem__(self, key, /)
| Return self[key].
|
| __getnewargs__(...)
|
| __gt__(self, value, /)
| Return self>value.
|
| __hash__(self, /)
| Return hash(self).
|
| __iter__(self, /)
| Implement iter(self).
|
| __le__(self, value, /)
| Return self<=value.
|
| __len__(self, /)
| Return len(self).
|
| __lt__(self, value, /)
| Return self<value.
|
| __mul__(self, value, /)
| Return self*value.n
|
| __ne__(self, value, /)
| Return self!=value.
|
| __new__(*args, **kwargs) from builtins.type
| Create and return a new object. See help(type) for accurate signature.
|
| __repr__(self, /)
| Return repr(self).
|
| __rmul__(self, value, /)
| Return self*value.
|
| count(...)
| T.count(value) -> integer -- return number of occurrences of value
|
| index(...)
| T.index(value, [start, [stop]]) -> integer -- return first index of value.
| Raises ValueError if the value is not present.

  元组仅有两个方法,count和index。

python3【基础】-list&tuple的更多相关文章

  1. python3基础视频教程

    随着目前Python行业的薪资水平越来越高,很多人想加入该行业拿高薪.有没有想通过视频教程入门的同学们?这份Python教程全集等你来学习啦! python3基础视频教程:http://pan.bai ...

  2. Python3基础-特别函数(map filter partial reduces sorted)实例学习

    1. 装饰器 关于Python装饰器的讲解,网上一搜有很多资料,有些资料讲的很详细.因此,我不再详述,我会给出一些连接,帮助理解. 探究functools模块wraps装饰器的用途 案例1 impor ...

  3. 2. Python3 基础入门

    Python3 基础入门 编码 在python3中,默认情况下以UTF-8编码.所有字符串都是 unicode 字符串,当然也可以指定不同编码.体验过2.x版本的编码问题,才知道什么叫难受. # -* ...

  4. python002 Python3 基础语法

    python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...

  5. Python3基础(十二) 学习总结·附PDF

    Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...

  6. Python3基础(八) 模块

    在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...

  7. 【python3基础】python3 神坑笔记

    目录 os 篇 os.listdir(path) 运算符篇 is vs. == 实例 1:判断两个整数相等 实例 2:argparse 传参 实例 3:np.where 命令行参数篇 Referenc ...

  8. Python3基础语法和数据类型

    Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码: # -*- coding: 编码 -*- 标 ...

  9. Python3基础-目录

    Python3基础-目录(Tips:长期更新Python3目录) 第一章 初识Python3  1.1 Python3基础-前言  1.2 Python3基础-规范 第二章 Python3内置函数&a ...

  10. python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器

    一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...

随机推荐

  1. c++高精度计算(加法)

    本文提供给刚入坑的新手 关于高精度的计算网上百度一下可以了解到许多 今天我分享的只是一些自己的心得,更详细的可以去看原博主的原创文章(https://blog.csdn.net/fanyun_01/a ...

  2. select 宽度跟随option内容自适应

    传统的select在没有设置固定宽度的情况,会因为自身的 option 选项的里,宽度最宽的option作为select本身的宽度 例如 可见效果为: select的宽度因为"宽度最宽的op ...

  3. mybatis xml文件 -- 报错 invalid comparison: java.time.LocalDateTime and java.lang.String

    原配置写法:<if test="assetFlaw.handleTime != null and assetFlaw.handleTime != ''"> and af ...

  4. Elasticsearch 6.3.1、Head插件 安装及配置

    安装Elasticsearch Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch 也可以直接使用wget下载到某目 ...

  5. Mysql修改密码以及权限问题

    mysql修改密码小步骤 错误分析: 一开始是密码错误导致,先添加skip-grant-tables(这个配置无视权限的,添加直接回车登录即可),尽心修改密码,发现错误照旧 百度了一下,发现是mysq ...

  6. nRF52832 BLE_DFU空中升级OTA(一)安装软件(SDK14.2.0)

    准备工作,需要安装好几个软件,详细的过程请参考下面的文章(http://www.cnblogs.com/iini/p/9314246.html)这里说的非常详细,而且也有工具在云盘,对于初学者非常友好 ...

  7. libcurl编译及使用

    环境: libcurl版本:7.54.1 VS:Visual Studio 2013 一.编译 1.下载最新版的libcurl(curl-7.54.1.zip)(地址:https://curl.hax ...

  8. PMU 精密测量单元

    PMU(Precision Measurement Unit,精密测量单元)用于精确的DC参数测量,它能驱动电流进入器件而去量测电压或者为器件加上电压而去量测产生的电流.PMU的数量跟测试机的等级有关 ...

  9. latex常用符号

    希腊字母 字母名称 大写 小写 大写latex 小写latex alpha A \(\alpha\) \alpha beta B \(\beta\) \beta gamma \(\Gamma\) \( ...

  10. MyOD课堂实践(5月31日)20155318

    MyOD课堂实践(5月31日)20155318 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 (码云链接) 代码 import java.io ...