python3【基础】-list&tuple
一、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的更多相关文章
- python3基础视频教程
随着目前Python行业的薪资水平越来越高,很多人想加入该行业拿高薪.有没有想通过视频教程入门的同学们?这份Python教程全集等你来学习啦! python3基础视频教程:http://pan.bai ...
- Python3基础-特别函数(map filter partial reduces sorted)实例学习
1. 装饰器 关于Python装饰器的讲解,网上一搜有很多资料,有些资料讲的很详细.因此,我不再详述,我会给出一些连接,帮助理解. 探究functools模块wraps装饰器的用途 案例1 impor ...
- 2. Python3 基础入门
Python3 基础入门 编码 在python3中,默认情况下以UTF-8编码.所有字符串都是 unicode 字符串,当然也可以指定不同编码.体验过2.x版本的编码问题,才知道什么叫难受. # -* ...
- python002 Python3 基础语法
python002 Python3 基础语法 编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -* ...
- Python3基础(十二) 学习总结·附PDF
Python是一门强大的解释型.面向对象的高级程序设计语言,它优雅.简单.可移植.易扩展,可用于桌面应用.系统编程.数据库编程.网络编程.web开发.图像处理.人工智能.数学应用.文本处理等等. 在学 ...
- Python3基础(八) 模块
在程序中定义函数可以实现代码重用.但当你的代码逐渐变得庞大时,你可能想要把它分割成几个文件,以便能够更简单地维护.同时,你希望在一个文件中写的代码能够被其他文件所重用,这时我们应该使用模块(modul ...
- 【python3基础】python3 神坑笔记
目录 os 篇 os.listdir(path) 运算符篇 is vs. == 实例 1:判断两个整数相等 实例 2:argparse 传参 实例 3:np.where 命令行参数篇 Referenc ...
- Python3基础语法和数据类型
Python3基础语法 编码 默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为原码文件制定不同的编码: # -*- coding: 编码 -*- 标 ...
- Python3基础-目录
Python3基础-目录(Tips:长期更新Python3目录) 第一章 初识Python3 1.1 Python3基础-前言 1.2 Python3基础-规范 第二章 Python3内置函数&a ...
- python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器
一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...
随机推荐
- Hbuilder软件打包简述
Hbuilder打包简述: : Hbuilder安装打包Android不需要任何证书可以正常打包. : ios打包需要.mobileprovision证书和P12文件.(.mobileprovisio ...
- ABAP术语-Update Module
Update Module 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/20/1114178.html Part of an update ...
- 19-3-15Python中闭包,迭代器,递归
函数名的使用 函数名可以当作值赋值给变量 函数名可以当作元素放到容器里 闭包 一个嵌套函数 在嵌套函数内的函数使用外部(非全局的变量) 满足以上两条就是闭包 python中闭包,会进行内存驻留,普通函 ...
- 基于 HTML5 WebGL 的 3D 水泥工厂生产线
前言 今天为大家带来一个很酷的作品,依然运用了强大的 HT for Web 的 3D 图形组件,动作流畅性能好,大家可以先来欣赏一下效果! 点我进入! 整体风格为科技金属风,制作精良,由于上传 gif ...
- CTF-安恒19年一月月赛部分writeup
CTF-安恒19年一月月赛部分writeup MISC1-赢战2019 是一道图片隐写题 linux下可以正常打开图片,首先到binwalk分析一下. 里面有东西,foremost分离一下 有一张二维 ...
- ubuntu 设置环境变量
两种方式设置环境变量: 1,添加到环境变量路径$PATH中 # 加到PATH末尾 export PATH=$PATH:/path/to/your/dir # 加到PATH开头 export PATH= ...
- Django模型中的元选项和object对象
1.元选项,在模型类型中定义一个Meta类,用于设置元信息 class Student(models.Model): name = models.CharField(max_length=20) se ...
- Oracle入门第三天(上)——多表查询与分组函数
一.多表查询 所有的连接分析,参考之前随笔:http://www.cnblogs.com/jiangbei/p/7420136.html 1.笛卡尔积 select last_name, depart ...
- 20155306 2006-2007-2 《Java程序设计》第4周学习总结
20155306 2006-2007-2 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1 何谓继承 继承:面向对象中,为避免多个类间重复定义共同行为. 运 ...
- 20155334 实验三 敏捷开发与XP实践
实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 完成实验.撰写实验报告,实验报告以 ...