python列表和元组操作
列表
列表(list)是python以及其他语言中最常用到的数据结构之一。Python使用中括号[ ]来解析列表。列表是可变的(mutable)—可以改变列表的内容。
定义列表
names = ['musker','jack','jenney']
可以使用list函数常见一个列表
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
通过下标访问列表中的元素,下标从0开始
>>> names[0]
'musker'
>>> names[1]
'jack'
>>> names[2]
'jenney'
切片:取出多个元素
>>> names = ['musker', 'jack', 'jenney','zhangsan','lisi']
>>> names[1:4] #取出下标1到4之间的元素,包括1,但不包括4
['jack', 'jenney', 'zhangsan']
>>> names[1:-1] #取出下标1到-1(从列表最后开始)之间的元素,包括1,但不包括-1
['jack', 'jenney', 'zhangsan']
>>> names[0:3]
['musker', 'jack', 'jenney']
>>> names[:3] #效果同上
['musker', 'jack', 'jenney']
>>> names[0::2] #2的含义是每隔一个元素取出一个
['musker', 'jenney', 'lisi']
>>> names[::2] #同上
['musker', 'jenney', 'lisi']
切片
追加
>>> names
['musker', 'jack', 'jenney', 'zhangsan', 'lisi']
>>> names.append('new name')
>>> names
['musker', 'jack', 'jenney', 'zhangsan', 'lisi', 'new name']
追加
插入
>>> names
['musker', 'jack', 'jenney', 'zhangsan', 'lisi', 'new name']
>>> names.insert(2,'强行从jeeney前面插')
>>> names
['musker', 'jack', '强行从jeeney前面插', 'jenney', 'zhangsan', 'lisi', 'new name']
插入
修改
>>> names
['musker', 'jack', '强行从jeeney前面插', 'jenney', 'zhangsan', 'lisi', 'new name']
>>> names[3] = '该换人了'
>>> names
['musker', 'jack', '强行从jeeney前面插', '该换人了', 'zhangsan', 'lisi', 'new name']
修改
删除
>>> names
['musker', 'jack', '强行从jeeney前面插', '该换人了', 'zhangsan', 'lisi', 'new name']
>>> names.pop() #删除末尾的一个元素
'new name'
>>> names
['musker', 'jack', '强行从jeeney前面插', '该换人了', 'zhangsan', 'lisi']
>>> names.pop(1) #删除指定下标的元素
'jack'
>>> names
['musker', '强行从jeeney前面插', '该换人了', 'zhangsan', 'lisi']
>>> names.remove('zhangsan') #删除指定的元素(没有返回值)
>>> names
['musker', '强行从jeeney前面插', '该换人了', 'lisi']
删除
扩展
>>> names
['musker', '强行从jeeney前面插', '该换人了']
>>> names2 = [1,2,3,4,5]
>>> names.extend(names2)
>>> names
['musker', '强行从jeeney前面插', '该换人了', 1, 2, 3, 4, 5]
扩展
统计:统计指定元素在列表中出现的次数
>>> num
[1, 3, 4, 56, 2, 4, 1, 22, 3, 4, 1, 2, 31, 3]
>>> num.count(3)
3
统计
排序&翻转
>>> names
['zhangsan', 'lisi', 'wangwu', 'maliu', 'Tom', 'Jack', 'Mzc', '', '', 'Mzc']
>>> names.reverse() #翻转
>>> names
['Mzc', '', '', 'Mzc', 'Jack', 'Tom', 'maliu', 'wangwu', 'lisi', 'zhangsan']
--------------------------------------------------------------------------------
>>> names.sort() #排序,正序
>>> names
['', '', 'Jack', 'Mzc', 'Mzc', 'Tom', 'lisi', 'maliu', 'wangwu', 'zhangsan']
>>> names.sort(reverse=True) #倒序
>>> names
['zhangsan', 'wangwu', 'maliu', 'lisi', 'Tom', 'Mzc', 'Mzc', 'Jack', '', '']
排序&翻转
获取下标
>>> names
['zhangsan', 'wangwu', 'maliu', 'lisi', 'Tom', 'Mzc', 'Mzc', 'Jack', '', '']
>>> names.index('Tom')
4
获取下标
拷贝
>>> names
['zhangsan', 'lisi', 'wangwu', 'maliu', 'Tom', 'Jack', 'Mzc', '', '', 'Mzc']
>>> names_copy = names.copy()
>>> names.pop()
'Mzc'
>>> names
['zhangsan', 'lisi', 'wangwu', 'maliu', 'Tom', 'Jack', 'Mzc', '', '']
>>> names_copy
['zhangsan', 'lisi', 'wangwu', 'maliu', 'Tom', 'Jack', 'Mzc', '', '', 'Mzc']
拷贝
这里的copy是浅copy
copy的探究:戳这里
列表生成式:
普通写法1
a = [1,3,4,6,7,7,8,9,11] 普通写法2
for index,i in enumerate(a):
a[index] +=1
print(a) 生成式写法
a = [i+1 for i in range(10)]
print(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
元组
元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表;
元组的意义:元组可以在映射(和集合的成员)中当作键使用——而列表则不行;元组作为很多内建函数和方法的返回值存在。
创建元组的语法很简单:如果你用逗号分隔了一些值,那么你就自动创建了元组
>>> 1, 2, 3
(1, 2, 3)
元组也是(大部分时候是)通过圆括号括起来的
>>> (1,2,3)
(1, 2, 3)
实现包括一个值的元组有些奇特——必须加个逗号
>>> 42,
(42,)
>>> (42,)
(42,)
tuple函数的功能与list函数基本上是一样的:以一个序列作为参数并把它转化为元组
>>> tuple([1, 2, 3])
(1, 2, 3)
它只有2个方法,一个是count,一个是index,对,还有切片的功能,完毕。
python列表和元组操作的更多相关文章
- Python列表及元组操作
#列表(一组有序数据的组合就是列表) #创建列表 #空列表 var = list()#var = [] print(var,type(var)) #具有多个元素的列表 var = ['风','水',' ...
- (转)python 列表与元组的操作简介
python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...
- Python基础——列表、元组操作
列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...
- python基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- 小白的Python之路 day2 列表、元组操作
1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Tom','Jack','Qian'] 通过下标访问列表中 ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- python列表与元组的用法
python列表与元组的用法 目录: 列表的用法: 1.增 append + extend 2.删 del remove 3.改 insert 4.查 index 5.反向 ...
- python 列表与元组的操作简介
上一篇:Python 序列通用操作介绍 列表 列表是可变的(mutable)--可以改变列表的内容,这不同于字符串和元组,字符串和元组都是不可变的.接下来讨论一下列表所提供的方法. list函数 可以 ...
- Python 列表、元组、字典及集合操作详解
一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...
随机推荐
- 暂停线程执行sleep_yield_join_stop
1.final void join() 调用该方法的线程强制执行完成,其它线程处于阻塞状态,该线程执行完毕,其它线程再执行 public class TestJoin { public static ...
- linux中断源码分析 - 初始化(二)
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 本篇文章主要讲述源码中是如何对中断进行一系列的初始化的. 回顾 在上一篇概述中,介绍了几个对于中断来说非常重要的 ...
- ESP8266开发综合篇(SDK开发-视频教程总揽)
为了解决基础教程简单入门但不实用,项目方案非常实用但比较难的问题,开始推出8266开发综合篇 综合篇涉及到AT,LUA,SDK,LUA(sdk)开发,LUA和SDK开发会同步进行,后期再整理AT指令的 ...
- CAN协议教程
介绍:CAN总线 CAN总线是广播类型的总线.这意味着所有节点都可以侦听到所有传输的报文.无法将报文单独发送给指定节点:所有节点都将始终捕获所有报文.但是,CAN硬件能够提供本地过滤功能,让每个节点对 ...
- Linux系列教程(七)——Linux常用命令之帮助和用户管理命令
上篇博客我们介绍了Linux文件搜索命令,其中find是用的最多的也是功能最强大的文件或目录搜索命令,和另一个搜索命令locate的区别是,find命令是全盘搜索,刚创建的文件也能搜索的到,而loca ...
- C# 获取文件MD5值的方法
可用于对比文件是否相同 /// <summary> /// 获取文件MD5值 /// </summary> /// <param name="fileName& ...
- Xamarin开发的一个简单画图程序分享
最近Xamarin比较火,于是稍微看了下,感觉接触过MVC的都应该能很快上手,还挺有意思,于是忍不住写了个简单的画图程序,之前看帖子有人说装不上或者无法部署,估计我比较幸运,编译完了一次就安装成功了, ...
- cgroup.conf系统初始配置
# Slurm cgroup support configuration file # # See man slurm.conf and man cgroup.conf for further # i ...
- Azure Load Balancer : 支持 IPv6
越来越多的网站开始支持 IPv6,即使是哪些只提供 api 服务的站点也需要支持 IPv6,比如苹果应用商店中的 app 早就强制要求服务器端支持 IPv6 了.笔者在前文<Azure Load ...
- BugkuCTF web3
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理 ...