自动摘要: 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)
#结果为:[‘赵’, ‘钱’, ‘孙’, [‘付’], ‘李’, ‘周’, ‘赵’]