0%

3-序列类型的方法

自动摘要: date:2018050814:34:56 1.创建列表。只要把逗号分隔的不同的数据项使用方括号括起来即可List=[‘wade’,’james’,’bosh’,’hasl ……..

date: 2018-05-08 14:34:56

1.创建列表。只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [‘wade’,’james’,’bosh’,’haslem’] 与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等 2.添加新的元素

?

List``.append(``'allen'``) #方式一:向list结尾添加 参数object

>>> a``=``[``1``,``2``,``3``,``4``]

>>> a.append(``5``)

>>> print``(a)

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

List``.insert(``4``,``'lewis'``) #方式二:插入一个元素 参数一:index位置 参数二:object

>>> a``=``[``1``,``2``,``4``]

>>> a.insert(``2``,``3``)

>>> print``(a)

[``1``, 2``, 3``, 4``]

List``.extend(tableList) #方式三:扩展列表,参数:iterable参数

>>> a``=``[``1``,``2``,``3``]

>>> b``=``[``4``,``5``,``6``]

>>> a.extend(b)

>>> print``(a)

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

3.遍历列表

?

1

2

for i in List``:

print i,

4.访问列表中的值 使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

?

1

2

3

>>> List = [``1``, 2``, 3``, 4``, 5``, 6``, 7 ]

>>> print``(``List``[``3``])

4

5.从list删除元素

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

List``.remove() #删除方式一:参数object 如有重复元素,只会删除最靠前的

>>> a``=``[``1``,``2``,``3``]

>>> a.remove(``2``)

>>> print``(a)

[``1``, 3``]

List``.pop() #删除方式二:pop 可选参数index删除指定位置的元素 默认为最后一个元素

>>> a``=``[``1``, 2``, 3``, 4``, 5``, 6``]

>>> a.pop()

6

>>> print``(a)

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

del List #删除方式三:可以删除整个列表或指定元素或者列表切片,list删除后无法访问。

>>> a``=``[``1``, 2``, 3``, 4``, 5``, 6``]

>>> del a[``5``]

>>> print``(a)

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

>>> del a

>>> print``(a)

Traceback (most recent call last):

File "<pyshell#93>"``, line 1``, in <module>

print``(a)

6.排序和反转代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

List``.reverse()

>>> a``=``[``1``, 2``, 3``, 4``, 5``, 6``]

>>> a.reverse()

>>> print``(a)

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

List``.sort() #sort有三个默认参数 cmp=None,key=None,reverse=False 因此可以制定排序参数

>>> a``=``[``2``,``4``,``6``,``7``,``3``,``1``,``5``]

>>> a.sort()

>>> print``(a)

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

#python3X中,不能将数字和字符一起排序,会出现此报错

>>> a``=``[``2``,``4``,``6``,``7``,``3``,``1``,``5``,``'a'``]

>>> a.sort()

Traceback (most recent call last):

File "<pyshell#104>"``, line 1``, in <module>

a.sort()

TypeError: unorderable types: str``() < int``()

7.Python列表截取 Python的列表截取与字符串操作类型相同,如下所示: L = [‘spam’, ‘Spam’, ‘SPAM!’] 操作:

?

1

2

3

4

Python 表达式 结果 描述

L[``2``] 'SPAM!' 读取列表中第三个元素

L[``-``2``] 'Spam' 读取列表中倒数第二个元素

L[``1``:] [``'Spam'``, 'SPAM!'``] 从第二个元素开始截取列表

8.Python列表操作的函数和方法 列表操作包含以下函数: 1、cmp(list1, list2):比较两个列表的元素 (python3已丢弃) 2、len(list):列表元素个数 3、max(list):返回列表元素最大值 4、min(list):返回列表元素最小值 5、list(seq):将元组转换为列表 列表操作常用操作包含以下方法: 1、list.append(obj):在列表末尾添加新的对象 2、list.count(obj):统计某个元素在列表中出现的次数 3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置 5、list.insert(index, obj):将对象插入列表 6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 7、list.remove(obj):移除列表中某个值的第一个匹配项 8、list.reverse():反向列表中元素 9、list.sort([func]):对原列表进行排序

注意:与字符串的方法不同,所有对列表操作的方法均会改变原有列表的值,而不是创建一个新的列表!!!

   

修改列表元素的方法

修改元素的方法用索引以及切片的方法,如: ▷ 索引: list_name[0] = ‘修改后的值’ ▷ 切片: *l***ist_name[0:3] = [a,b,c]   ** 注意:后面需要修改的值的总数可以不与切片的长度相对应,比如说[0:3]这个切片长度为3,后面可以传一个有2个或者4个元素的列表,此时,只是将切片所对应的值剔除,然后将后面列表依次插入 后面也可以赋值一个字符串,此时,只是将切片所对应的值剔除,然后将后面字符串拆开然后依次插入 list_name[0:3] = ‘fuyong’

复制代码

name_list = [‘赵’,’钱’,’孙’,’李’,’周’,]
name_list[2]= ‘sun’
print(name_list)
#结果为:[‘赵’, ‘钱’, ‘sun’, ‘李’, ‘周’]

name_list[2]= name_list[2].title()
print(name_list)
# 结果为:[‘赵’, ‘钱’, ‘Sun’, ‘李’, ‘周’]

name_list[0:2] = [‘zhao’,’qian’]
print(name_list)
#结果为:[‘zhao’, ‘qian’, ‘Sun’, ‘李’, ‘周’]

name_list[0:2] = [‘zhao’,’qian’,’zheng’]
print(name_list)
#结果为:[‘zhao’, ‘qian’, ‘zheng’, ‘Sun’, ‘李’, ‘周’]

name_list[0:2] = [‘zhao’]
print(name_list)
#结果为:[‘zhao’, ‘zheng’, ‘Sun’, ‘李’, ‘周’]

name_list[0:3] = ‘fuyong’
print(name_list)
#结果为:[‘f’, ‘u’, ‘y’, ‘o’, ‘n’, ‘g’, ‘李’, ‘周’]

复制代码

 

五、查询列表元素的方法

查询元素的方法用索引以及切片的方法,如: ▷ 索引: *list_name[0] ** ▷ 切片: list_name[0:3]* **list_name[0:3:2] **

复制代码

1 name_list = [‘赵’,’钱’,’孙’,’李’,’周’,]
2 print(name_list[0]) # 赵
3 print(name_list[2]) # 孙
4
5 print(name_list[0:2]) # [‘赵’, ‘钱’]
6 print(name_list[1:]) # [‘钱’, ‘孙’, ‘李’, ‘周’]
7
8 print(name_list[0:4:2]) # [‘赵’, ‘孙’]
9 print(name_list[:4:2]) # [‘赵’, ‘孙’] 10
11 print(name_list[4:0:-1]) #[‘周’, ‘李’, ‘孙’, ‘钱’] 12 print(name_list[-2:0:-1]) #[‘李’, ‘孙’, ‘钱’]

复制代码

另外,如果需要查询列表中所有的元素,可以用for循环来实现,如:

复制代码

1 name_list = [‘赵’,’钱’,’孙’,’李’,’周’,] 2 for name in name_list: 3 print(name)

‘’’
输出结果如下:

赵 钱 孙 李 周 ‘’’

复制代码

 

六、列表的其他方法

▷ len(list)方法: 此方法可以用来计算列表的长度,如下:

1 name_list = [‘赵’,’钱’,’孙’,’李’,’周’,] 2 print(len(name_list)) 3 #输出结果为5

▷count()方法:

此方法用来计算列表中一个元素出现的次数,如下:

1 name_list = [‘赵’,’钱’,’孙’,’李’,’周’,’赵’] 2 print(name_list.count(‘赵’)) 3 # 输出结果为2

** ▷sort()方法:** 次方法是对列表进行排序(列表里的元素要为数字类型),默认是正序,可以指定倒序(reverse = True)

复制代码

1 num_list = [1,3,6,2,5,0,8] 2 num_list.sort() #默认为正序排列 3 print(num_list) 4 #输出结果为:[0, 1, 2, 3, 5, 6, 8] 5
6 num_list.sort(reverse=True) #指定reverse为True 则为倒序 7 print(num_list) 8 #输出结果为[8, 6, 5, 3, 2, 1, 0]

复制代码

▷reverse(): 此方法是将列表里所有元素进行翻转,注意,不是排序,是将所有元素倒过来 ,如:

1 name_list = [‘赵’,’钱’,’孙’,’李’,’周’] 2 name_list.reverse() 3 print(name_list) 4 #结果为:[‘周’, ‘李’, ‘孙’, ‘钱’, ‘赵’]

  ▷join()方法: 此方法用法与字符串的join方法一样,就是将列表里的元素用指定字符连接起来,字符可以是空格,可以是空字符,可以是下划线以及任意字符,如下:

1 name_list = [‘赵’,’钱’,’孙’,’李’,’周’] 2 print(‘‘.join(name_list)) # 结果:赵李*周
3 print(‘ ‘.join(name_list)) # 结果:赵 钱 孙 李 周
4 print(‘’.join(name_list)) # 结果:赵钱孙李周
5 print(‘__’.join(name_list)) # 结果:赵__钱__孙__李__周

注:可以利用这种方法将一个列表转为字符串格式

七、列表的嵌套

上面说过,列表里可以放一切元素,所以,当然也可以嵌套列表: 如果需要对列表里的列表进行增删改查,只需先索引到里面的列表,然后再进行操作即可,如下:

复制代码

name_list = [‘赵’,’钱’,’孙’,[‘付’,’傅’,’符’],’李’,’周’,’赵’]

print(name_list[3][1]) # 傅
print(name_list[3][0:2]) #[‘付’, ‘傅’]

name_list[3][1]= ‘fu’
print(name_list)
# 结果为:[‘赵’, ‘钱’, ‘孙’, [‘付’, ‘fu’, ‘符’], ‘李’, ‘周’, ‘赵’]

name_list[3].pop(1)
print(name_list)
#结果为[‘赵’, ‘钱’, ‘孙’, [‘付’, ‘符’], ‘李’, ‘周’, ‘赵’]

name_list[3].remove(‘符’)
print(name_list)
#结果为:[‘赵’, ‘钱’, ‘孙’, [‘付’], ‘李’, ‘周’, ‘赵’]

复制代码

强调:与字符串的方法不同,所有对列表操作的方法均会改变原有列表的值,而不是创建一个新的列表!!!

欢迎关注我的其它发布渠道