列表与元组

一、序列概览

在Python中,最基本的数据结构是序列:
序列中每个元素被分配一个序号——即元素的位置,也称为索引,索引以0开始。

Python中有六种内建的序列:

  • 列表
  • 元组
  • 字符串
  • Unicode字符串
  • buffer对象
  • xrange对象

本次的讨论的列表和元组,主要区别在与——列表可以修改,元组不可修改



二、通用序列操作
所有的序列都可以进行某些特定的操作,这些操作包括:

  • 索引
  • 分片
  • 检查成员

除此之外,Python还有 迭代 、 计算序列长度 、找出最大元素 和 最小元素 等内建函数

**索引:通过元素的序号获取元素

>>>greeting = ‘Hello‘
>>>greeting[0]
‘H‘
>>>greeting[-1]
‘o‘
>>>"Hello"[1]
‘e‘

应用索引时注意以下几点:
首位元素的序号为0
默认从左到右计数
使用负数时,从最后一个元素开始计数,序号为-1
字符串字面值能够直接索引,可以不需要变量引用

**分片:通过元素的序号的范围访问一定范围内元素

>>>numbers = [1,2,3,4,5,6,7,8,9,10]
>>>numbers[3:6]
[4,5,6]
>>>numbers[0:1]
[1]
>>>numbers[7:10]
[8,9,10]
>>>numbers[-3:-1]
[8,9]
>>>numbers[-3:0]
[]
>>>numbers[-3:]
[8,9,10]
>>>numbers[:3]
[1,2,3]
>>>numbers[:]
[1,2,3,4,5,6,7,8,9,10]

应用分片时注意以下几点:
通过冒号隔开两个索引实现
范围以第一个索引的元素开始,以 第二个索引的元素前一位元素 结束
第一个索引的位置必须在第二个索引的位置之前

另外,在正常的分片的同时,还有步长的概念,即可以设置间隔的元素个数,默认设置为1

>>>numbers=[1,2,3,4,5,6,7,8,9,10]
>>>numbers=[0:10:1]
[1,2,3,4,5,6,7,8,9,10]
>>>numbers[0:10:2]
[1,3,5,7,9]
>>>numbers[::4]
[1,5,9]

设置步长时,注意以下几点:
步长不能设置为0
步长可以为负数,此时分片从右往左取元素

**序列相加:通过 加运算符 “+” 进行序列连接操作

>>>[1,2,3] + [4,5,6]
[1,2,3,4,5,6]
>>>"Hello, " + "world."
"Hello, world."
>>>[1,2,3]+‘world‘(此时系统会提示错误,列表与字符串不能连接在一起)

**乘法:原来的序列重复

>>>‘python‘ * 5
‘pythonpythonpythonpythonpython‘
>>>[42]*10
[42,42,42,42,42,42,42,42,42,42]

**None、空列表和初始化
空列表可以简单的表示为:[],但是如果想创建一个占十个元素空间,却不包括任何有用元素的空列表,则需要使用None,None代表什么都没有

>>>[]*10
[]
>>>[None]*10
[None,None,None,None,None,None,None,None,None,None]

**成员资格:检查一个值是否在序列中,使用in运算

>>> ‘w‘ in ‘rw‘
True

**长度、最小值和最大值
len:返回序列中元素的数量
min:返回序列中的最小元素
max:返回序列中的最大元素



三、列表

list函数:将字符串转换为列表

>>>list("hello")
[‘h‘,‘e‘,‘l‘,‘l‘,‘o‘]

基本操作:
元素赋值

>>>x= [1,1,1]
>>>x[1]=2
>>>x
[1,2,1]

删除元素

>>>names = [‘Alice‘,‘Beth‘,‘Cecil‘,‘Dee-Dee‘,‘Earl‘]
>>>del names[2]
>>>names
[‘Alice‘,‘Beth‘,‘Dee-Dee‘,‘Earl‘]

分片赋值

>>>name = list(‘Perl‘)
>>>name
[‘P‘,‘e‘,‘r‘,‘l‘]
>>>name[2:] = list(ar)
>>>name
[‘P‘,‘e‘,‘a‘,‘r‘]

使用列表分片赋值注意以下几点:
可以使用与原序列不等长的序列将分片替换

>>>name = list(‘Perl‘)
>>>name[1:] = list(‘ython‘)
>>>name
‘Python‘

分片赋值可以在不需要替换任何元素的情况下,插入新的元素

>>>numbers = [1,5]
>>>numbers[1:1] = [2,3,4]
>>>numbers
[1,2,3,4,5]
>>>numbers[1:4] = []
>>>numbers
[1,5]

列表的方法:
append 在列表末尾追加新的对象
count 统计某个元素在列表中出现的次数
extend 在列表的末尾一次性追加另一个序列的多个值
index 从列表中找出某个值第一个匹配项的位置
insert 将对象插入到列表中
pop 移除列表中的一个元素(默认是最后一个),并返回该值
remove 移除列表中某个值的第一个匹配项
reverse 将列表中的元素反向存放
sort 队列表进行排序
高级排序

元组的方法:
tuple 以一个序列为参数将其转换为元组:

时间: 2024-10-31 19:45:52

列表与元组的相关文章

python的列表,元组和字典简单介绍

引 入 java                                   python 存取多个值:数组或list集合 ------------------------> 列表,元组 key-value格式:    Map        ------------------------>    字典 自己学习发现,java跟python这两门面向对象语言在数据类型的定义上,很多思想都是互通的,这里不说java,简单介绍一下python的列表,元组和字典. 一.列表 List: 最通

列表和元组——Python学习系列之二

列表和元组 数据结构:是通过某种方式组织在一起的数据元素的集合,这些元素可以是数字或者是字符,甚至可以是其他数据结构. 序列 序列中每一个元素被分配一个序号--即元素的位置,也称索引. python有6种内建序列:字符串(一个由字符组成的序列).元组.列表.Unicode字符串.buffer对象.xrange对象. 通用序列操作 索引 序列中的所有元素都是有编号的--从0开始递增. >>> seq_str = 'Hello world!' >>> seq_str[0]

python列表,元组的操作

python的列表是用于存放一组数据,表示形式 用 [ ]来表示 1,列表的常用方法: names = ['!alex', 'eric', 'rain', '2kity'] names.append('knochkapoor') #增加一个元素 names.count('alex') #统计alex数量 names.insert(0,'jlliu') #在第一个位置插入'julliu' names.remove('jlliu') #删除'jlliu' names.pop() #不加参数默认删除最

2.python基础之—列表,元组,字典,集合,字符串的使用方法

一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. 解释下个人理解的迭代,迭代(iteration),序列中的迭代就是对序列中的每个元素重复执行某些操作/ 具体的迭代方式后面会说到. 下面就说说python序列的共有特点. 1.索引 一个序列中,所有的元素都有自己的编号,这个编号是从0开始的,这个编号就是所谓的索引,这些元素可以通过索引来依次访问.

Python数据类型详解(列表,元组,字典,日期)

目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字符串,例如:str='this is string';print str; b.使用双引号(")双引号中的字符串与单引号中的字符串用法完全相同,例如:str="this is string";print str; c.使用三引号(''')利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号

零基础学python-2.7 列表与元组

其实,可以把列表和元组看成普通的数组,但是这个数组可以存储不同的数据类型(对象) 列表和元组的区别   列表 元组 使用的符号 [] () 元素数量 可变 不可变 修改元素 不可以 可以 如果大家有编程基础,列表就像java里面的List,元组就像java里面的数组,不过这个数组是只读的 下面给大家举个例子: 列表可以使用下标来读取或者修改元素 元组只可以通过下标读取元素,不可以修改元素 元组可以像字符串一样使用切片操作符来截取元素,但是有个区别就是,如果下标为负数或者超过元组长度,不显示 这节

Python数据结构之列表、元组及字典

一位大牛Niklaus Wirth曾有一本书,名为<Algorithms+Data Structures=Programs>,翻译过来也就是算法+数据结构=程序.而本文就是介绍一下Python中内建的三种数据结构----列表.元组以及字典. 列表 列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目. 1.list函数 因为字符串不能像列表一样被修改,所以有时候根据字符串创建列表就很有用了,list可以实现这个操作: 1 >>>list("H

python入门学习-列表和元组(1)

数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合.这些数据元素可以是数字或者字符,甚至可以是其他数据结构. 在python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号--即元素的位置,也称为索引.第一个索引是0,第二个是1,以此类推. 1.1序列概览 python包含6种內建的序列,最常用的两种类型是:列表和元组.其他的內建序列类型有字符串.Unicode字符串.buffer对象和xrang对象. 列表和元组主要区别在于,列表可以修改,元组

python:列表与元组

1.python包含六种内建的序列,列表和元组是其中的两种,列表可以修改,元组则不能 2.通用序列操作 2.1 索引:和C#的区别是索引可以为负数,最后一个元素索引为-1,索引超出范围会报错 例:>>>a='hello' >>>a[-2] 'l' 2.2分片:可以使用分片来获取序列一定范围内的元素,即截取:从python2.3开始添加了步长,分片的第一个数字代表起始位置,第二个代表结束位置(索引+1),第三个数字代表步长 例:>>>numbers=[1

python列表和元组的方法和属性

python序列的共性 python序列包括列表和元组,序列都有索引,第一个元素索引为0,序列都可以进行索引.加.乘.切片.检查成员. python列表 列表是最常用的数据类型之一,通过[,,,]建立,可以给变量赋值空列表[].列表的数据项可以是不同类型的,可以嵌套. 列表的索引和字符串操作一样,同样可以截取例如a[1:2] / a[1:] / a[:3] 列表的更新: 1.修改:通过索引直接赋值来修改列表中的值. 2.新增:通过list.append(),在末尾处添加元素. 3.删除: A.通