Python【2】-列表和元组,python列表

Python 列表和元组,python列表

1、列表

1.1 列表的基本操作:

索引、切片、追加、删除、长度、切片、循环、包含

图片 1>>>
name_list = [‘alex’,’65brother’,’tenglan’] # 初始化一个列表
>>> type(name_list) # 确定类型 <type ‘list’>
>>> help(name_list) # 获取详细帮助信息 >>>
dir(name_list) # 获取简单信息 [ …..省略,’append’, ‘count’,
‘extend’, ‘index’, ‘insert’, ‘pop’, ‘remove’, ‘reverse’, ‘sort’]
>>> name_list.append(“xiaolan”) # 追加一个值 >>>
name_list # 查看追加结果 [‘alex’, ’65brother’, ‘tenglan’, ‘xiaolan’]
>>> name_list.insert(0,”xiaolan”) # 通过索引值追加内容
>>> name_list # 查看追加结果 [‘xiaolan’, ‘alex’,
’65brother’, ‘tenglan’, ‘xiaolan’] >>>
name_list.count(“xiaolan”) # 计算“xiaolei”值得总数 >>>
name_list.index(“65brother”) # 查看某个值得索引值 >>>
name_list[2] # 通过索引取值 ’65brother’ >>>
name_list.remove(“alex”) # 移除扫描到的第一个alex值 >>>
name_list [‘xiaolan’, ’65brother’, ‘tenglan’, ‘xiaolan’] #
查看移除结果 >>> name_list.pop() # 移除最后一个值,并返回该值
‘xiaolan’ >>> name_list # 查看移除效果 [‘xiaolan’,
’65brother’, ‘tenglan’] View
Code

 

1.2 extend(扩展)

>>> a
[1, 2, 3, 4, 6, 'a', 'b']
>>> b = ['c','d',4,24,6]
>>> a + b                          # 两个列表合并
[1, 2, 3, 4, 6, 'a', 'b', 'c', 'd', 4, 24, 6]
>>> a.extend(b)                                       # 把b的内容扩展到a列表 
>>> a
[1, 2, 3, 4, 6, 'a', 'b', 'c', 'd', 4, 24, 6]
>>> name = "Alex Li"
>>> a.extend(name)                                    # 把字符串的每个字母拆分扩展到a列表
>>> a
[1, 2, 3, 4, 6, 'a', 'b', 'c', 'd', 4, 24, 6, 'A', 'l', 'e', 'x', ' ', 'L', 'i']

 

1.3 包含

>>> a
[1, 2, 3, 4, 6, 'a', 'b', 'c', 'd', 4, 24, 6, 'A', 'l', 'e', 'x', ' ', 'L', 'i']
>>> "A" in a     # 字母A是否包含在列表a中
True
>>> 24 in a      # 数字24 是否包含在列表a中
True

 

1.4 列表应用场景

案例01:一千万条数据,有100条重复数据,要求删除这100条数据

图片 2>>>
name_list [‘alex’, ’65brother’, ‘tenglan’, ‘lanyulei’, ‘lanyulei’,
‘lanyulei’, ‘lanyulei’] >>> for i in
range(name_list.count(‘lanyulei’)): … name_list.remove(‘lanyulei’)
… >>> name_list [‘alex’, ’65brother’, ‘tenglan’] View Code

 

1.5 切片

图片 3>>>
a = [1,2,3,’a’,’b’] >>> a[0:2] #
从索引为0的值开始,到索引为2的值结束,不包含索引为2的值 [1, 2]
>>> a[1:4]             #
从索引为1的值开始,到索引为2的值结束,不包含索引为2的值 [2, 3, ‘a’]
>>> a[0:4] [1, 2, 3, ‘a’] >>> a[0:4:2] #
从索引为0的值开始,到索引为4的值结束,不包含索引为4的值,然后再每隔2个留一个值
[1, 3] >>> a[0:4:3] #
从索引为0的值开始,到索引为4的值结束,不包含索引为4的值,然后再每隔3个留一个值
[1, ‘a’] >>> a = [1,6,2,4,3,’a’,’b’] >>>
a[-1]             # 取倒数第一个值 ‘b’ >>>
a[-2:-1] # 取倒数2个值,然后再取倒数第一个值 [‘a’] >>>
a[-2:] # 取倒数2个值 [‘a’, ‘b’] >>> a[:3] # 取前三个值
[1, 6, 2] ”’ 在Python
3.x中,列表的sort中既有数字又有字符串则sort功能无法使用,如果需要排序则要先实现切片,再进行分片
”’ C:\Users\Administrator>python3 Python 3.5.0
(v3.5.0:374f501f4567, Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (In
tel)] on win32 Type “help”, “copyright”, “credits” or “license” for
more information. >>> a = [1,6,2,4,3,’a’,’b’] >>> b
= a.sort() Traceback (most recent call last): File “<stdin>”, line
1, in <module> TypeError: unorderable types: str() < int()
C:\Users\Administrator>python3 Python 3.5.0 (v3.5.0:374f501f4567,
Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (In tel)] on win32 Type
“help”, “copyright”, “credits” or “license” for more information.
>>> a = [1,6,2,4,3,’a’,’b’] >>> b = a.sort()
Traceback (most recent call last): File “<stdin>”, line 1, in
<module> TypeError: unorderable types: str() < int() #
先切片再排序 >>> a = [1,6,2,4,3,’a’,’b’] >>> b =
a[0:5] >>> b.sort() >>> b [1, 2, 3, 4, 6] View Code

 

 1.6

sort Python3.x

图片 4>>>
a = [1,5,2,3,’a’,’b’] >>> a.sort() Traceback (most recent
call last): File “<stdin>”, line 1, in <module> TypeError:
unorderable types: str() < int() View Code

 

 2、元组

 元组的作用,元组能实现的功能列表都能实现,工作中使用元组多数是提醒他人这个是一个元组,无法更改内容

>>> t = (1,2,3,4,'a','list')
>>> type(t)
<class 'tuple'>
>>> dir(t)
[......省略, 'count', 'index']

元组互相转换列表(实现了元组的修改)

 

元组-->列表
>>> t
(1, 2, 3, 4, 'a', 'list')
>>> list(t)
[1, 2, 3, 4, 'a', 'list']

列表-->元组
>>> a
[1, 2, 3, 4, 6, 'a', 'b', 'c', 'd', 4, 24, 6, 'A', 'l', 'e', 'x', ' ', 'L', 'i']
>>> tuple(a)
(1, 2, 3, 4, 6, 'a', 'b', 'c', 'd', 4, 24, 6, 'A', 'l', 'e', 'x', ' ', 'L', 'i')

 

 

列表和元组,python列表 1、列表 1.1
列表的基本操作: 索引、切片、追加、删除、长度、切片、循环、包含
name_list = [ ‘ alex ‘ , ‘ 65bro…

Python列表及元组操作,python列表

#列表(一组有序数据的组合就是列表)

#创建列表
#空列表
var = list()#var = []
print(var,type(var))

#具有多个元素的列表
var = ['风','水','风水']
print(var,type(var))

#基本操作
var = ['地','火','地火']
#访问列表中的元素
print(var[-2])

#修改元素
var[1] = '水'
print(var)

#删除元素
del var[1]
print(var)

#添加元素(不能加)

#序列操作
listvar1 = ['胡一菲','曾小贤','陆展博']
listvar2 = ['林宛瑜','陈美嘉','吕子乔','关谷神奇']

#相加
result = listvar1 + listvar2
print(result)

#相乘操作
result = listvar1 * 2
print(result)

#分片
#result = listvar2[:3]
#result = listvar2[1:]
#result = listvar2[1:3]
#result = listvar2[:]
#print(result)

#成员检测
result = 'Lisa荣' in listvar2
print(result)

result = 'Lisa荣' not in listvar2
print(result)

#序列函数
#len() 检测列表中元素的个数
var = ['张三','李四','王五','赵六']
result = len(var)
print(result)

#max() 获取最大值
result = max([12,23,34,45,21,32,43,54])
print(result)

#min() 获取最小值
result = min([12,23,34,45,21,32,43,54])
print(result)

#遍历列表

#for...in
var = ['红','橙','黄','绿','青','蓝','紫']
for i in var:
    print(i)

#while遍历
i = 0
while i < len(var):
    print(var[i])
    i += 1

#多层列表的遍历
var = [
    ['小黑','black'],
    ['小白','white'],
    ['小彩','color']
]

#等长二级列表
for i,j in var:
    print(i,j)

#等长或不等长列表都可以遍历
for i in var:
    #print(i)
    for j in i:
        print(j)

#列表推导式
var = ['段誉','虚竹','乔峰','木婉清','钟灵儿']
#最基本的列表推导式
result = ['@'+i+'@' for i in var]
print(result)

#书写列表1-10,使用列表推导式获取当前列表中每个数字*3的列表
var = [1,2,3,4,5,6,7,8,9,10]
result = [i * 3 for i in var]
print(result)

#带有判断条件的列表推导式
var = [1,2,3,4,5,6,7,8,9,10]
result = [a for a in var if a % 2 == 0]
print(result)

#声明一个多人名称的列表,使用推导式获取所有三个字人名
var = ['段誉','虚竹','乔峰','木婉清','钟灵儿']
result = [n for n in var if len(n) == 3]
print(result)

#多循环列表推导式
sizes = [37,38,39,40,41]
colors = ['yellow','cyan','pink','purple']
result = [str(s) +'-'+ c for s in sizes for c in colors]
print(result)

#男组4人,女组5人,互相见面一次
men = ['男1','男2','男3','男4']
women = ['女1','女2','女3','女4','女5']
result = [m +'-'+ w for m in men for w in women]
print(result)

#带有判断条件的多循环列表推导式
men = ['男1','男2','男3','男4']
women = ['女1','女2','女3','女4']
result = [m +'-'+ w for m in men for w in women if men.index(m) == women.index(w)]
print(result)


#append()  向列表的末尾添加元素  直接修改元列表
var = ['a','b','c','d']
print(var)
var.append('e')
print(var)

#insert() 在列表的指定位置之前添加元素
var = ['a','b','c','d']
print(var)
var.insert(2,'g')
print(var)

#pop()  删除列表中指定位置的元素
var = ['a','b','c','d']
print(var)
result = var.pop(0)
print(var,result)

#remove()  删除列表中指定值的元素
var = ['a','b','c','d']
print(var)
result = var.remove('c')
print(var,result)

#clear()  清空列表
var = ['a','b','c']
print(var,id(var))
var.clear()
print(var,id(var))

#copy()  复制列表
var = ['a','b','c','d']
print(var,id(var))
newvar = var.copy()
print(newvar,id(newvar))

#count() 计算列表中某个元素出现的次数
var = [2,3,4,3,4,5,6,7,8,5,4,6,7,8]
result = var.count(5)
print(result)

#excend() 将一个列表合并到另外一个列表中
var1 = ['xs','dc','yyh','wzj']
var2 = ['dsn','lss','cyy','lrs']
var1.extend(var2)
print(var1)

#index() 获取某个元素在列表中的索引
var = ['xs','dc','yyh','wzj']
result = var.index('dc')
print(result)

#reverse() 列表反转操作
var = ['a','b','c','d']
print(var)
var.reverse()
print(var)

#sort() 排序函数
var = [23,342,34,32,75,59]

#默认排序  升序
#var.sort()
#print(var)

#降序
#var.sort(reverse=True)
#print(var)

#自定义排序规则
#奇偶数
def myfunc(num):
    result = num % 5
    return result
var.sort(key=myfunc,reverse = True)
print(var)

a = [4,5,66,45,99]
 #   0 1 0 1 1
 #   1 0 1 0 0
#a.sort(key=ceshi,reverse=False)
a.sort(key = lambda x:x%2==0)
#print(a)

def ceshi(x):
    return x%2 == 0
a.sort(key=ceshi)
print(a)

#sort 排序按照返回值来排 特点基于原来列表进行排序
'''
> < >= <= != ==

true 1  false 0

True + 1 1+1
1 + 1.1 2.1

bool  int  float
float()
int()
bool()
'''

 

#元组(元组也是一组有序数据的组合,和列表唯一的不同是,元组不可修改)
#创建单个元素的元组
#var = (13,)
var = 23,
print(var,type(var))

#元组只能进行访问操作
var = ('yy','bb','dlrb','glnz')
print(var[1])
print(var[-2])

#元组的序列操作
# +
var1 = (1,3,5,7,9)
var2 = (2,4,6,8,10)
result = var1 + var2
print(result)

#列表或者元组具有很多层
girls = (
    (
        ('小赵','小钱'),
        ('小李','小周')
    ),
    (
        ('小吴','小郑'),
        ('小王','小刘')
    )
)
#访问多层元组中的内容
print(girls[1])
print(girls[1][1])
print(girls[1][1][0])

#元组推导式->生成器->不要则不给
var = (1,2,3,4,5,6,7,8,9)
result = (i * 2 for i in var)
print(result)#结果为生成器
for a in result:
    print(a)

 

#
列表(一组有序数据的组合就是列表) # 创建列表 # 空列表 var = list() #
var = [] print (var,type(var)) # 具有多个元…

Python 基础【第五篇】元组和列表,python第五篇列表

一.序列

python包含六种内建的序列:列表、元组、字符串、unicode字符串、buffer对象、xrange对象。

列表可以修改,元组是不能修改的。

一.序列

python包含六种内建的序列:列表、元组、字符串、unicode字符串、buffer对象、xrange对象。

列表可以修改,元组是不能修改的。

一 、Python之列表:

其实所谓的列表我个人感觉和shell
中的数组是一样的(只是个人见解哦),列表其实说白了就是元素的组合:

格式:

Name = [a,b,c,d]

下标:

每一个列表中的元素都对应一个下标下标的起始位为0

比如列表[a,b,c,d]

a对应的下标为0

b对应的下标为1

c对应的下标为2

……

1.1.定义列表:

比如定义列表group 元素分别为(test,11,bbb,343,ccc)

>>> group = ["test",11,"bbb",343,"ccc"]

 

1.2.打印列表:

显示列表中的元素有两种方式,如下

>>> group
['test', 11, 'bbb', 343, 'ccc']
>>> print (group)
['test', 11, 'bbb', 343, 'ccc']

 

1.**3.**根据下标打印列表中的某个元素:

>>> group = ["test",11,"bbb",343,"ccc"]

>>> group [3]

343

>>> group [2]

'bbb'

>>> group [1]

11

>>> group [0]

'test'

 

1.4.列表中追加元素

1.4.1.利用append()函数

//打印当前列表中的元素

>>> group = ["test",11,"bbb",343,"ccc"]

 

//追加元素

>>> group.append("zhangsan")

 

//打印追加后列表中的元素

>>> group

['test', 11, 'bbb', 343, 'ccc', 'zhangsan']

 

 

1.4.2.利用extend()函数

>>> group.extend(['zhang','wang','li'])

>>> print group

['test', 11, 'bbb', 343, 'ccc', 'zhang', 'wang', 'li']

 

 

(注:append()和extend()的区别在于append()函数只能追加一个元素,而extend()只能追加多个元素)

1.4.3.利用list指定列表来添加元素

//打印当前列表中的元素

>>> group

['test', 11, 'bbb', 343, 'ccc', 'zhangsan']

 

 

//追加元素

>>> list.append(group,"haha")

 

//打印追加后列表

>>> group

['test', 11, 'bbb', 343, 'ccc', 'zhangsan', 'haha']

 

 

1.**5.**列表中删除和替换元素

1.5.1.利用列表下标进行替换

//打印当前列表中的元素

>>> group

['test', 11, 'bbb', 343, 'ccc', 'zhangsan', 'haha']

 

 

//替换

>>> group[1] = "wangyufei"

 

//打印替换后列表中的元素

>>> group

['test', 'wangyufei', 'bbb', 343, 'ccc', 'zhangsan', 'haha']

 

 

1.5.2.列表删除元素

1.5.2.1、pop可以将某个元素删除列表并打印出该元素

用法:

lists.pop(下标)

例:

>>> list_1=[3, 4, 5, 6]

>>> list_1

[3, 4, 5, 6]

>>> list_1.pop(1)

4

>>> list_1

[3, 5, 6]

 

1.5.2.2、del 通过下标直接删除值

用法:

del lists[tage]

>>> group = ['test', 11, 'bbb', 343, 'ccc', 'zhangsan', 'haha']

>>> group

['test', 11, 'bbb', 343, 'ccc', 'zhangsan', 'haha']

 

#删除group列表中下标为0的值

>>> del group[0]

>>> group

[11, 'bbb', 343, 'ccc', 'zhangsan', 'haha']

 

 

1.6.利用“len (name)”统计列表中的元素数

>>> group

['test', 'wangyufei', 'bbb', 343, 'ccc', 'zhangsan', 'haha']

>>> len (group)

7

 

二.列表

列表list是变长序列,其中的内容也是可以修改的。序列通过方括号[]或者list函数进行定义,而且序列中还可以嵌套包含序列。

>>> a=[‘wang’,15]
>>> print a
[‘wang’, 15]
>>> b=[‘chen’,18]
>>> print b
[‘chen’, 18]
>>> students=[a,b]
>>> print students
[[‘wang’, 15], [‘chen’, 18]]

二.列表

列表list是变长序列,其中的内容也是可以修改的。序列通过方括号[]或者list函数进行定义,而且序列中还可以嵌套包含序列。

>>> a=['wang',15]
>>> print a
['wang', 15]
>>> b=['chen',18]
>>> print b
['chen', 18]
>>> students=[a,b]
>>> print students
[['wang', 15], ['chen', 18]]

二、Python之元组

元组和列表很相似其格式如下:

Name = (number0,number1,number2,………)

其实元组和列表差不多 操作方式也类似这里也就不多说了 具体相同点和不同点
下面对相同点和不同点做个总结

 

三.通用序列操作

三.通用序列操作

三、列表和元组的区别

  1. 相同点:

元组和列表都是存储元素的容器、下标都是从0开始、逗号分隔

  1. 不同点:

列表可以修改、转变数据类型 定义的时候为 [ ] 方括号

元组不可被修改 定义的时候为()圆括号

基础【第五篇】元组和列表,python第五篇列表
一 、Python之列表: 其实所谓的列表我个人感觉和shell
中的数组是一样的(只是个人见解…

1.索引

序列中的元素都是有编号的,从0开始递增。如果索引是负值,则会从最后一个元素开始计数,最后一个元素的编号是-1.

>>> str=’Hello World’
>>> str[0]
‘H’
>>> str[-1]
‘d’

其实字符串能够直接使用索引。

>>> ‘Hello World'[0]
‘H’

1.索引

序列中的元素都是有编号的,从0开始递增。如果索引是负值,则会从最后一个元素开始计数,最后一个元素的编号是-1.

>>> str='Hello World'
>>> str[0]
'H'
>>> str[-1]
'd'

其实字符串能够直接使用索引。

>>> 'Hello World'[0]
'H'

2.分片

分片用来提取序列中的一组数据。包括三个参数:前两个参数是索引编号,第一个参数是要提取的第一个元素的编号;第二个参数是分片之后剩下部分的第一个元素编号;第三个参数是步长。也就是说,第一个索引号是包含在分片内的,第二个索引是不包含在分片之内的。

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

如果分片部分包含到序列结尾,就将第二个索引置空即可。

>>> numbers[-3:]
[8, 9, 10]

如果分片部分从序列开头开始,则将第一个索引置空。

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

设置步长为大于1的数字时,会跳过一些元素。

>>> numbers[::2]
[1, 3, 5, 7, 9]
>>> numbers[::3]
[1, 4, 7, 10]

步长是负数,会从右向左提取元素。

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

2.分片

分片用来提取序列中的一组数据。包括三个参数:前两个参数是索引编号,第一个参数是要提取的第一个元素的编号;第二个参数是分片之后剩下部分的第一个元素编号;第三个参数是步长。也就是说,第一个索引号是包含在分片内的,第二个索引是不包含在分片之内的。

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

如果分片部分包含到序列结尾,就将第二个索引置空即可。

>>> numbers[-3:]
[8, 9, 10]

如果分片部分从序列开头开始,则将第一个索引置空。

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

设置步长为大于1的数字时,会跳过一些元素。

>>> numbers[::2]
[1, 3, 5, 7, 9]
>>> numbers[::3]
[1, 4, 7, 10]

步长是负数,会从右向左提取元素。

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

3.相加

通过加号可以对序列进行连接操作。

>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> [‘a’,’b’]+[‘b’,’c’]
[‘a’, ‘b’, ‘b’, ‘c’]
>>> [1,2]+[‘a’,’b’]
[1, 2, ‘a’, ‘b’]
>>> [1,2]+’ab’
Traceback (most recent call last):
  File “<pyshell#30>”, line 1, in <module>
    [1,2]+’ab’
TypeError: can only concatenate list (not “str”) to list

3.相加

通过加号可以对序列进行连接操作。

>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> ['a','b']+['b','c']
['a', 'b', 'b', 'c']
>>> [1,2]+['a','b']
[1, 2, 'a', 'b']
>>> [1,2]+'ab'
Traceback (most recent call last):
  File "<pyshell#30>", line 1, in <module>
    [1,2]+'ab'
TypeError: can only concatenate list (not "str") to list

4.相乘

用序列乘以数字n会生成一个新的序列,新序列中的元素是将原序列中的元素重复了n次。

>>> ‘hello’*5
‘hellohellohellohellohello’
>>> [1,2,3,4,5]*3
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

创建包含10个元素空间的序列,但是序列中的每个元素都是是空的。

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

 

text=raw_input(‘please input text:’)
screen_width=100
text_width=len(text)
box_width=text_width+2
left_margin=(screen_width-box_width)//2
print ‘ ‘*left_margin+’+’+’-‘*box_width+’+’
print ‘ ‘*left_margin+’|’+’ ‘*box_width+’|’
print ‘ ‘*left_margin+’| ‘ +text+”+’ |’
print ‘ ‘*left_margin+’|’+’ ‘*box_width+’|’
print ‘ ‘*left_margin+’+’+’-‘*box_width+’+’

图片 5

4.相乘

用序列乘以数字n会生成一个新的序列,新序列中的元素是将原序列中的元素重复了n次。

>>> 'hello'*5
'hellohellohellohellohello'
>>> [1,2,3,4,5]*3
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

创建包含10个元素空间的序列,但是序列中的每个元素都是是空的。

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

 

text=raw_input('please input text:')
screen_width=100
text_width=len(text)
box_width=text_width+2
left_margin=(screen_width-box_width)//2
print ' '*left_margin+'+'+'-'*box_width+'+'
print ' '*left_margin+'|'+' '*box_width+'|'
print ' '*left_margin+'| ' +text+''+' |'
print ' '*left_margin+'|'+' '*box_width+'|'
print ' '*left_margin+'+'+'-'*box_width+'+'

四、基本列表操作

5.成员资格检查-in运算符

>>> str=’hello tom’
>>> ‘o’ in str
True

>>> list=[‘wang’,’chen’,’zhang’]
>>> raw_input(‘your first name?’) in list
your first name?chen
True

1.赋值操作

>>> num=[1,3,5]
>>> num[1]=10
>>> num
[1, 10, 5]

四、基本列表操作

2.删除元素

>>> del num[1]
>>> num
[1, 5]

1.赋值操作

>>> num=[1,3,5]
>>> num[1]=10
>>> num
[1, 10, 5]

3.分片赋值

以不同长度的序列替换

>>> num=[1,2,3,4,5]
>>> num[1:3]=[8,8,8,8,]
>>> num
[1, 8, 8, 8, 8, 4, 5]

2.删除元素

>>> del num[1]
>>> num
[1, 5]

4.插入分片

>>> num=[1,2,3,4,5]
>>> num[2:2]=[8,8,8]
>>> num
[1, 2, 8, 8, 8, 3, 4, 5]

3.分片赋值

以不同长度的序列替换

>>> num=[1,2,3,4,5]
>>> num[1:3]=[8,8,8,8,]
>>> num
[1, 8, 8, 8, 8, 4, 5]

5.删除分片元素

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

4.插入分片

>>> num=[1,2,3,4,5]
>>> num[2:2]=[8,8,8]
>>> num
[1, 2, 8, 8, 8, 3, 4, 5]

五.列表方法

1.append:在末尾追加元素。

>>> num=[1,2,3]
>>> num.append(4)
>>> num.append(5)
>>> num
[1, 2, 3, 4, 5]

2.count:统计某元素在列表中出现的次数。

>>> data=[1,4,[1,2],3,4,[1,2],[1,2,3]]
>>> data.count(4)
2
>>> data.count([1,2])
2

3.extend:在序列末尾一次性追加另外一个序列中的元素。extend方法直接修改了被扩展的列表。

>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> c=['a','b','c']
>>> a.extend(c)
>>> a
[1, 2, 3, 4, 5, 6, 'a', 'b', 'c']

4.index:查找某个元素在列表中第一次匹配的位置。

>>> data=[1,2,33,5]
>>> data.index(3)
Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    data.index(3)
ValueError: 3 is not in list
>>> data.index(5)
3

5.insert:将元素插入到列表中的指定位置。

>>> data=[1,2,3,4,5]
>>> data.insert(2,88)
>>> data
[1, 2, 88, 3, 4, 5]

6.pop:移除列表中的最后一个值,并返回该元素的值。

>>> data=[1,2,3,4,5]
>>> data.pop()
5
>>> data
[1, 2, 3, 4]

pop(i):移除指定元素,i为元素索引。

>>> data.pop(1)
2
>>> data
[1, 3, 4]

7.remove:移除列表中某个值的第一个匹配项。

>>> data.remove(3)
>>> data
[1, 2, 4, 5]

8.reverse:将列表中的元素倒序放置。

>>> data=[2,5,8,10]
>>> data.reverse()
>>> data
[10, 8, 5, 2]

9.sort:将列表中的元素进行排序。

>>> data=[2,55,3,64,43,23]
>>> data.sort()
>>> data;
[2, 3, 23, 43, 55, 64]

5.删除分片元素

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

六.元组-不可修改

元组turple是初始化后不能修改的序列。例如:

t=(1,2,3)

如果元组只有一个数值元素,为了避免歧义,要加一个逗号。

t=(1,)

通过调用tuple方法,可以将任意的列表或者迭代器转换为元组。例如:

>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('hello')
('h', 'e', 'l', 'l', 'o')

元组可以通过加号(+)连接为更长的元组。

>>> (1,2,3)+('a','b')
(1, 2, 3, 'a', 'b')

“可变的”元组:元组每个元素指向一旦初始化就不能改变了,但是元组指向的对象是可变的。例如:

l=[1,2,3]
t=('a',l)
print t
>>('a',[1,2,3])
a[1][0]=5
print t
>>('a',[5,2,3])

元组拆包:如果对元组型表达式变量进行赋值,Python会尝试将右侧的元组值进行拆包。例如:

>>> t=(1,2,(3,4))
>>> a,b,c=t
>>> print(a)
1
>>> print(b)
2
>>> print(c)
(3, 4)

利用拆包,可以十分便捷的进行交换操作,例如将a和b互换,直接使用a,b=b,a即可。

>>> a=1
>>> b=2
>>> a,b=b,a
>>> print(a)
2
>>> print(b)
1  

五.列表方法

1.append:在末尾追加元素。

>>> num=[1,2,3]
>>> num.append(4)
>>> num.append(5)
>>> num
[1, 2, 3, 4, 5]

2.count:统计某元素在列表中出现的次数。

>>> data=[1,4,[1,2],3,4,[1,2],[1,2,3]]
>>> data.count(4)
2
>>> data.count([1,2])
2

3.extend:在序列末尾一次性追加另外一个序列中的元素。extend方法直接修改了被扩展的列表。

>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> c=[‘a’,’b’,’c’]
>>> a.extend(c)
>>> a
[1, 2, 3, 4, 5, 6, ‘a’, ‘b’, ‘c’]

4.index:查找某个元素在列表中第一次匹配的位置。

>>> data=[1,2,33,5]
>>> data.index(3)
Traceback (most recent call last):
  File “<pyshell#17>”, line 1, in <module>
    data.index(3)
ValueError: 3 is not in list
>>> data.index(5)
3

5.insert:将元素插入到列表中的指定位置。

>>> data=[1,2,3,4,5]
>>> data.insert(2,88)
>>> data
[1, 2, 88, 3, 4, 5]

6.pop:移除列表中的最后一个值,并返回该元素的值。

>>> data=[1,2,3,4,5]
>>> data.pop()
5

>>> data
[1, 2, 3, 4]

pop(i):移除指定元素,i为元素索引。

>>> data.pop(1)
2
>>> data
[1, 3, 4]

7.remove:移除列表中某个值的第一个匹配项。

>>> data.remove(3)
>>> data
[1, 2, 4, 5]

8.reverse:将列表中的元素倒序放置。

>>> data=[2,5,8,10]
>>> data.reverse()
>>> data
[10, 8, 5, 2]

9.sort:将列表中的元素进行排序。

>>> data=[2,55,3,64,43,23]
>>> data.sort()
>>> data;
[2, 3, 23, 43, 55, 64]

七.range

range函数用于产生一组间隔平均的整数,它有三个参数,分别用于指定起始值、结束值和步长。前两个参数的使用和列表中的分片类似,都是包括起始值,不包括结束值。

例如:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2,10)
[2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,10,2)
[1, 3, 5, 7, 9]

一.序列
python包含六种内建的序列:列表、元组、字符串、unicode字符串、buffer对象、xrange对象。
列表可以…

六.元组-不可修改

元组turple是初始化后不能修改的序列。例如:

t=(1,2,3)

如果元组只有一个数值元素,为了避免歧义,要加一个逗号。

t=(1,)

通过调用tuple方法,可以将任意的列表或者迭代器转换为元组。例如:

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

(1, 2, 3)

>>> tuple(‘hello’)

(‘h’, ‘e’, ‘l’, ‘l’, ‘o’)

元组可以通过加号(+)连接为更长的元组。

>>> (1,2,3)+(‘a’,’b’)

(1, 2, 3, ‘a’, ‘b’)

“可变的”元组:元组每个元素指向一旦初始化就不能改变了,但是元组指向的对象是可变的。例如:

l=[1,2,3]
t=(‘a’,l)
print t

>>(‘a’,[1,2,3])

a[1][0]=5

print t

>>(‘a’,[5,2,3])

元组拆包:如果对元组型表达式变量进行赋值,Python会尝试将右侧的元组值进行拆包。例如:

>>> t=(1,2,(3,4))

>>> a,b,c=t

>>> print(a)

1

>>> print(b)

2

>>> print(c)

(3, 4)

利用拆包,可以十分便捷的进行交换操作,例如将a和b互换,直接使用a,b=b,a即可。

>>> a=1

>>> b=2

>>> a,b=b,a

>>> print(a)

2

>>> print(b)

七.range

range函数用于产生一组间隔平均的整数,它有三个参数,分别用于指定起始值、结束值和步长。前两个参数的使用和列表中的分片类似,都是包括起始值,不包括结束值。

例如:

>>> range(10)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> range(2,10)

[2, 3, 4, 5, 6, 7, 8, 9]

>>> range(1,10,2)

[1, 3, 5, 7, 9]

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图