一、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. es6 入坑笔记(二)---函数扩展,箭头函数,扩展运算符...

    函数扩展 1.函数可以有默认值 function demo( a = 10,b ){} 2.函数可以使用解构 function demo( { a = 0,b = 0 } = {} ){ } 3.函数 ...

  2. Mybatis 配置文件

    1.核心配置文件 sqlMapConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOC ...

  3. js获取dom元素的子元素,父元素,兄弟元素小记

    原生jsvar a = document.getElementById("dom"); del_space(a); //清理空格 var b = a.childNodes; //获 ...

  4. docker使用(一)

    docker相对于虚拟技术: 更高效的利用系统资源 更快的启动速度 一致的运行环境 持续交付和部署 更加轻松的迁移 更加轻松的维护和扩展 什么是docker镜像,容器: 可以说他就是一个模型,用面向对 ...

  5. Mac使用bootcamp安装win系统花屏解决方法

    15年11'乞丐版air装win屏幕花屏,很郁闷,先后找了网上很多方法,最终总结出了一个比较折中的方法,不玩游戏不使用大型3D的可以参考. 1 花屏现象 2 解决方法 2.1 禁用驱动 2.2 使用M ...

  6. php安装redis拓展

    1. 查看是否安装redis库 查看是否安装redis库了.可以通过下面2种方式查看. phpinfo()是否能输出redis的加载信息 在命令行执行`php -m` 输出gd 2. 安装redis库 ...

  7. 20155223 2006-2007-2 《Java程序设计》第4周学习总结

    20155223 2006-2007-2 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 Java的继承方法与继承类相当于程序间的数值调用,当然还有程序间函数的调动使用. 继 ...

  8. 【转载】C/C++杂记:虚函数的实现的基本原理

    原文:C/C++杂记:虚函数的实现的基本原理 1. 概述 简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针.例: ...

  9. 【LG4631】[APIO2018]Circle selection 选圆圈

    [LG4631][APIO2018]Circle selection 选圆圈 题面 洛谷 题解 用\(kdt\)乱搞剪枝. 维护每个圆在\(x.y\)轴的坐标范围 相当于维护一个矩形的坐标范围为\([ ...

  10. HDU 6086 Rikka with String

    Rikka with String http://acm.hdu.edu.cn/showproblem.php?pid=6086 题意: 求一个长度为2L的,包含所给定的n的串,并且满足非对称. 分析 ...