python入门之列表和元组

获得更多资料欢迎进入我的网站或者 csdn或者博客园

前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数

序列

?这章主要介绍的是列表和元组,而列表和元组是序列的六种内型中的两种,主要区别。列表可以修改,而元组不能。而序列很好用比如要操作一组人的名字和年龄可以这样:

peace=[‘peace one’,23]

rong=[‘sisi’,22]

data=[peace,rong]

data

[[‘peace one’,23],[‘sisi’,22]]

序列可以包含其他序列;比如data包含了peace和rong序列

索引

?1、序列名按序号索引

peace[1]

23

data[1][1]

22

?2、字符串直接按序号索引还可对输入进行索引

‘hello’[1]

‘e’

two=raw_input(‘year: ‘)[1]

year: 2015

two

‘0’

分片索引、

?1跟按序号索引类似,可以使用分片操作来访问一定范围内的元素。分片通过冒号分隔开来实现;

tag=’My name is one peace’

tag[11:20]

‘one peace’

注意:第一个索引是分片的第一个元素索引,第二个索引是分片元素最后一个元素索引+1;哪怕像上面的+1索引不存在也没关系.同样制空最后一个索引也是可以的;如下:

tag[-9: ]

‘one peace’

?2更大的步长,在两个索引后面再加一个冒号和步长;

tag[1:11:2]

‘ynm s’

注意:同样步长也可以为负数,不过为负数时,是从后往前输出。此时必须第一个索引再第二个索引的后面;比如:

tag[11:1:-2]

‘os mn’

序列运算

?1相加又称连接

[1,2,3]+[3,4,6,]

[1,2,3,4,5,6]

注意:两种相同类型才能进行连接操作;比如:[1,2]+’hello’会返回错误

?2相乘用列表乘以数字x,得到的新的序列会重复被乘序列x次

[42]*5

[42,42,42,42,42]

?3成员资格,检查一个值是否在序列当中,可以使用in运算。

‘p’ in tag

True

‘pe’ in tag

True

‘px’ in tag

False

?4长度,最大值,最小值

#长度函数len

len(tag)

20

#最大值函数max

max([3,4,5])

5

min([3,4,5])

3

列表

list函数

?1,list函数,创建列表;

str=list(‘hello’)

str

[‘h’,’e’,’l’,’l’,’o’]

列表操作

?1改变列表,元素赋值

str[1]=’p’

str

[‘h’,’p’,’l’,’l’,’o’]

?2删除元素 使用del来删除

del str[1]

str

[‘h’,’l’,’l’,’o’]

?3分片赋值。主要作用如下:

#1,可以使用与原序列不等长的序列将分片替换

str[1: ]=list(‘peace’)

str

[‘h’,’p’,’e’,’a’,’c’,’e’]

#2,可以不替换任可元素的情况下插入元素

str[1:1]=list(‘one’)

str

[‘h’,’o’,’n’,’e’,’p’,’e’,’a’,’c’,’e’]

#3,当然也可以删除、

str[1:4]=list()

str

[‘h’,’p’,’e’,’a’,’c’,’e’]

列表方法

方法是一个与对象紧密相关的函数。直接对象.方法进行调用

列表有append(末尾追加),count(统计次数),extend(新列表追加),index(找到元素为知),insert(按序号插入)

pop(按序号删除)remove(按值删除)reverse(元素翻转),sort(排序),sorted(获取排序后的结果),特殊排序:

sort(cmp)通过比较类型排序,sort(key=len)通过建函数排序(此去是长度len),sort(reverse=True)通过True和false来判断是否翻转排序;

方法操作如下:

#append方法
 >>> name = list("scott")
 >>> name
 [‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
 >>> name.append(list(" tiger"))
 >>> name
 [‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘, [‘ ‘, ‘t‘, ‘i‘, ‘g‘, ‘e‘, ‘r‘]]
>>> name = list("scott")
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
>>> name.append("A","B")        #添加多个元素即将报错
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: append() takes exactly one argument (2 given)
>>> name.append("A")
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘, ‘A‘]
#count方法
>>> name = list("scott")
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
>>> name.count(‘s‘)
1
>>> name.count("t")
2
>>> name.count("A")
0
>>> name.append(list("Python"))
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘, [‘P‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘]]
>>> name.count([‘P‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘])
1
#extend方法
 >>> name = list("scott")
 >>> name
 [‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
 >>> name.extend(list(" tiger"))
 >>> name
 [‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘, ‘ ‘, ‘t‘, ‘i‘, ‘g‘, ‘e‘, ‘r‘]
#index方法
>>> name = list("scott")
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
>>> name.index(‘t‘)    ##第一个字母t的索引位置是3
3
>>> name.index(‘a‘)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ValueError: list.index(x): x not in list
>>> ‘a‘ in name
False
>>> ‘a‘ not in name
True
#insert方法
>>> name = list("scott")
 >>> name
 [‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
 >>> name.insert(2,‘tiger‘)     ##在索引为2的地方插入字符串tiger
 >>> name
 [‘s‘, ‘c‘, ‘tiger‘, ‘o‘, ‘t‘, ‘t‘]
 #pop方法
>>> name = list("scott")
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
>>> name.pop()
‘t‘
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘]
>>> name.append("t")
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
#remove方法
>>> name = list("scott")
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
>>> name.remove("t")    #去掉第一个t
>>> name
[‘s‘, ‘c‘, ‘o‘, ‘t‘]
>>> name.remove("A")    #不存在会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ValueError: list.remove(x): x not in list
>>> "A" not in name
True
>>> name.remove("s","c")  #一次只能移除一个元素
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: remove() takes exactly one argument (2 given)
#reverse方法
 >>> name = list("scott")
 >>> name
 [‘s‘, ‘c‘, ‘o‘, ‘t‘, ‘t‘]
 >>> name.reverse()
 >>> name
 [‘t‘, ‘t‘, ‘o‘, ‘c‘, ‘s‘]
#sort方法
 >>> result = [8,5,5,3,9]
 >>> result.sort()
 >>> result
 [3, 5, 5, 8, 9]

 #sorted方法

 >>> result = [8,5,5,3,9]
 >>> result2 = sorted(result)
 >>> result
 [8, 5, 5, 3, 9]
 >>> result2
 [3, 5, 5, 8, 9]

元组

元组

元组与列表一样,也是一种序列,唯一不同的是元组不可以修改:

元组操作

>>> 1,2,3

(1, 2, 3)

>>> ()

()
#对于单个元素必须加上逗号,加上逗号后就表示数字是元组了
>>> 42

42

>>> 42,

(42,)

>>> (42,)

(42,)

元组tuple函数

>>> tuple([1,2,3])

(1, 2, 3)

>>> tuple(‘abc‘)

(‘a‘, ‘b‘, ‘c‘)

>>> tuple((1,2,3))

(1, 2, 3)

列表与元组的相互转化

>>> T=(‘cc‘,‘aa‘,‘dd‘,‘bb‘)

>>> tmp=list(T)

>>> tmp

[‘cc‘, ‘aa‘, ‘dd‘, ‘bb‘]

>>> T=tuple(tmp)

>>> T

(‘cc‘, ‘aa‘, ‘dd‘, ‘bb‘)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 23:03:41

python入门之列表和元组的相关文章

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

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

python入门:列表和元组

列表与元组的主要不同在于,列表是可以修改的,元组不可以.列表适用于需要中途添加元素的情形,元组适用于出于某种考虑禁止修改序列的情形.在需要处理一系列值时,序列很有用,在数据库中,你可能使用序列来表示人,其中第一个表示姓名,第二个表示年龄.用列表表示如下: user=['Andy',20] 序列还可包含其他序列 user=['Andy',20] use=['john',21] database=[user,usr] database [['Andy', 20], ['john', 21]] dat

python笔记之列表和元组

pyhton的列表和元组,说白了其实就是一种数据结构,只是在python当中更加方便的去操作而已.. 1.序列 其实字符串就是采取序列的方式的: string = "hello" print string[0] 结果为:h 对比其他编程语言,python还有一个负值索引的概念: 序列的分片: first = [0,1,2,3,4,5,6,7,9] print first[1:6:2] 针对first[1:6:2]这条语句: 1代表的起始索引,不写,默认为0 6代表结束索引,不写默认为所

python数据结构之 列表和元组

python数据结构之 列表和元组 序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始).典型的序列包括列表.字符串和元组.其中,列表是可变的(可以进行修改),而元组和字符串是不可变的(一旦创建了就是固定的).序列中包含6种内建的序列,包括列表.元组.字符串.Unicode字符串.buffer对象.xrange对象. 列表的声明: mylist = [] 2.列表的操作: (1) 序列的分片: 用法:mylist[startIndex:endIndex:step] exam: myli

Python数据结构:列表、元组和字典

在Python中有三种内建的数据结构——列表list.元组tuple和字典dict 列表中的项目包括在方括号中,项目之间用逗号分割 元组和列表十分类似,只不过元组和字符串一样是不可变的 即你不能修改元组.元组通过圆括号中用逗号分割的项目定义. 元组最通常的用法是用在打印语句中 age = 22 name = 'Swaroop' print '%s is %d years old' % (name, age) print 'Why is %s playing with that python?'

Python 数据类型之列表和元组

Python 数据类型之 列表和元组 Python 根据每个变量的初始赋值情况分析其类型,并在内部对其进行跟踪 内置数据类型Booleans [布尔型] True[真] 或 False [假]Numbers [数值型] Integers[整数] Float[浮点数] Fractions[分数] Complex Number[复数]Strings [字符串型] Unicode 字符序列Bytes [字节] 和 Bytes Arrays [字节数组]Lists [列表] 是值的有序序列Tuples

python基础三(列表和元组)

数据结构:数据结构是以某种方式(如通过编号)组合起来的数据元素集合.在python中,最基本的数据结构为序列,序列中每个元素都有编号从0开始. 1.序列概述:?python内置了许多种序列,列表.元组.字符串等.?列表和元组的不同在于,列表是可以修改的,而元组不可以,这意味着列表用于需要中途添加元素的情形,而元组适用于禁止修改元素的情形. 1.1.创建列表 假设你现在需要一个东西来储存多个名字,那么用列表正合适 list_name = ["王晓明","李二"] #所

Python数据类型(列表和元组)

1.3 List(列表) 列表由一系列按特定顺序排列的元素组成. 在Python中,用方括号[ ]来表示列表,并用逗号来分隔其中的元素. 1.3.1 访问列表元素 在Python中,第一个列表元素的索引为0,而不是1. >>> bicycles = ['trek', 'cannondale', 'redline', 'specialized'] >>> print(bicycles[0]) trek >>> print(bicycles[3]) spe

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

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