序列

序列是Python中最基本的数据结构,包括字符串、列表、元组。

序列,顾名思义,是有序的,序列都有索引,都能进行索引、切片(截取)、加(连接)、乘(倍增)、检查成员的操作。

因为序列有序,可通过位置来区分元素,所以序列中可含有相同的元素。

序列的通用操作

1、索引

seq[index]   index从0开始,支持负数,-1表示最后一个元素。

2、切片(截取)

seq[start:end]   可截取子序列,返回的是副本,原序列不变。缺省时默认start为0,end为-1。

3、+(连接)

seq1+seq2+seq3+.....      将多个序列连接为一个序列,返回的是副本,原序列不变

序列的类型要相同,才能相加,比如列表只能+列表,不能+字符串。

4、*(倍增)

seq*n      将序列扩展为原来的n倍,比如“hello”*2就是“hellohello”。返回的是副本,原序列不变。

5、in、not in(检查成员)

element  in/not in  seq     判断某个成员是否在序列中,返回值是bool型

6、python内置函数,不必导入模块:

len(seq)    返回序列长度(元素个数)

max(seq)   返回序列中值最大的元素

min(seq)  返回序列中值最小的元素

列表(List)

列表中的元素类型可以不同,甚至可以嵌套复杂的数据类型。列表用中括号[ ]表示。

list1=[1,2,3]  #类型相同
list2=[1,"ok",[1,2,3]] #类型不同&&嵌套

列表的常用方法

函数 描述
list.append(ele) 在list末尾添加一个元素
list.insert(index,ele)     在指定位置插入一个元素
list.count(ele) 统计list中ele出现的次数
list.extend(x)

扩展list,x可以是列表、元组、集合、字典(只添加key)。添加到list的末尾。

+连接只能连接相同类型的序列。

list.index(ele) 索引元素,返回索引
list.pop([index]) 弹出(删除)并返回指定位置上的元素,,缺省index时默认为-1(最后一个元素)。
list.remove(ele) 移除指定元素,若list中有多个ele,只移除第一个ele
list.copy() 复制list,返回复制的列表。示例:list2=list1.copy()
list.clear() 清空列表
list.reverse() 反序排列
 list.sort(reverse=True)

将列表中的元素按升/降序排列,缺省参数时默认为False(升序),True是降序。示例:

list.sort()   #升序排列

list.sort(reverse=True)   #降序排列

注意:此函数不返回排序后的列表。

列表(List)是可变的,如果上述方法修改了List,List会改变。

数字(Number)、字符串(String)、元组(Tuple)是不可变的,操作时返回的往往是副本,原来的值不变。

元组(Tuple)

元组中可以含有不同类型的数据。

元组不能被修改,不能删除、修改元组中的元素,但可以用del删除整个元组。

元组用小括号()表示。

tuple1=()   #空元组
tuple2=(1,4,3)
tuple3=(1,"ok",[1,2,3]) #类型不同&&嵌套

列表、元组之间的转换

1、list(seq)    将其他序列转换为列表

myTuple=(1,2,3)
print(list(myTuple)) #[1, 2, 3] """
python的内置函数list(seq)可以将其他序列转换为列表,并返回该列表
此函数不会修改seq本身
""" 

2、tuple(seq)   将其他序列转换为元组

myList=[1,2,3]
print(tuple(myList)) #(1, 2, 3)
"""
python的内置函数tuple(seq)可以将其它序列转换为元组,并返回该元组
此函数不会修改seq本身
"""

这2种方法均不会修改参数本身。

最新文章

  1. 理解AUC
  2. Create Volume 操作(Part I) - 每天5分钟玩转 OpenStack(50)
  3. 【bzoj1076】 SCOI2008—奖励关
  4. iOS Storyboard全解析
  5. ArcGIS 10 SP5中文版(ArcGIS10补丁5中文版)
  6. 工具项与菜单项实现相同的功能(DevExpress)
  7. OAF_EO系列4 - Create详解和实现(案例)
  8. 易维清使用技巧:CHM编辑利器
  9. 用PHP实现一个高效安全的ftp服务器(一)
  10. 解决mini2440开发板和虚拟机相互ping不通
  11. CODE[VS]-最小数和最大数-整数处理-天梯青铜
  12. angular2与VS2015 asp.net core集成使用
  13. JavaScript判断类型
  14. SQLI DUMB SERIES-17
  15. 线程中的setDaemon方法
  16. REdis Asynchronous AOF fsync is taking too long
  17. MySQL--pymysql模块
  18. Python大法之告别脚本小子系列—各类URL采集器编写
  19. 032 Spark容错特性
  20. 2018/03/10 每日一学PHP 之 修饰符 public/private/protected

热门文章

  1. Excel 使用小技巧
  2. 树莓派项目(1-2)人脸识别 C++
  3. 元素的alt和title有什么异同?
  4. 为什么两个一样的对象,用===打印是false
  5. 洛谷[SHOI2002]滑雪题解
  6. C语言博客作业2019-04--数组
  7. springboot自定义页面拦截
  8. 第9课 C++异常处理机制
  9. LRU缓存简单实现
  10. 【2019年05月13日】A股ROE最高排名