您的位置:首页 > 编程语言 > Python开发

Python3学习5 列表及其常用方法

2019-02-02 16:47 507 查看

列表

1、列表是有序的,即每个元素都有一个位置
2、列表是可变类型的
3、可容纳任何对象

一、创建列表

list1 = [2, 3, 4]
list2 = list([2, 3, 4])
list3 = list(range(10))

创建空列表:

list1 = []
list2 = list()

二、如何判断是否为列表

方法1

a = [2, 3, 4]
if type(a) is list:
print('yes')
else:
print('no')

方法2

a = [2, 3, 4]
print(isinstance(a, list)) # True

方法3

a = [2, 3, 4]
print(type(a) == list) # True

三、字符串转列表,列表转字符串

字符串转列表

v1 = 'abc'
s1 = list(v1)
print(s1)  # ['a', 'b', 'c']

列表转字符串

l1 = ['a', 'b', 'c']
s2 = ''.join(l1)
print(s2)  # abc

四、字典转列表

d1 = {'a': 12, 'b': 34}
key = list(d1)   # 默认将key值转成列表
print(key)  # ['a', 'b']

v1 = list(d1.keys())  # key值
v2 = list(d1.values())  # value值
print(v1, v2)  # ['a', 'b'] [12, 34]

五、列表的增加

append()

列表末尾添加新对象

l1 = ['a', 'b', 'c']
l2 = ['s', 't']
l1.append(l2)
print(l1)  # ['a', 'b', 'c', ['s', 't']]

extend()

接受序列做参数,并将参数中的元素都添加到列表中

l1 = ['a', 'b', 'c']
l2 = ['s', 't']
l1.extend('000')
print(l1)  # ['a', 'b', 'c', '0', '0', '0']
l1.extend(l2)
print(l1)  # ['a', 'b', 'c', '0', '0', '0', 's', 't']

insert()

将对象插入到指定位置中

l1 = ['a', 'b', 'c']
l1.insert(1, '999') # 将对象插入到指定位置中
print(l1)  # ['a', '999', 'b', 'c']

六、列表的删除

remove()

1.只删除找到的第一个元素
2.修改原列表
只删除了一个a

l1 = ['a', 'b', 'c', 'a', 'b']
l1.remove('a')
print(l1)  # ['b', 'c', 'a', 'b']

pop()

1.可通过索引值修改原列表
2.返回被pop的元素

l1 = ['a', 'b', 'c', 'a', 'b']
v1 = l1.pop(1)
print(v1)  # b
print(l1)  # ['a', 'c', 'a', 'b']

del

l1 = ['a', 'b', 'c', 'a', 'b']
del l1
print(l1) # NameError: name 'l1' is not defined

通过切片删除

l1 = ['a', 'b', 'c', 'a', 'b']
l1[2 : 3] = []  # 也可以写成l1[2 : 3] = ''
print(l1)  # ['a', 'b', 'a', 'b']

七、反转列表

方法1
reverse(): 反向,修改原列表

list1 = ['a1', '23', 'pyt', '1', 'A3']
list1.reverse()
print(list1)

方法2
返回新的列表

list1 = ['a1', '23', 'pyt', '1', 'A3']
list2 = list1[::-1]
print(list1)  # ['a1', '23', 'pyt', '1', 'A3']
print(list2)  # ['A3', '1', 'pyt', '23', 'a1']

八、列表的排序

sort()

列表函数,修改原列表

list1 = ['a1', '23', 'pyt', '1', 'A3','borther']
list1.sort()   # 按ascii码
print(list1)  #  ['1', '23', 'A3', 'a1', 'borther', 'pyt']
list1.sort(key = len)   #按字符串的长度排序
print(list1)  # ['1', '23', 'A3', 'a1', 'pyt', 'borther']
list1.sort(reverse = True)   #降序
print(list1)  # ['pyt', 'borther', 'a1', 'A3', '23', '1']

列表中的字符串是根据开头的元素的ascii码值排序:

list2 = ['23', '14','24', '5', '89', '6']
list2.sort()
print(list2)  # ['14', '23', '24', '5', '6', '89']

sorted()

python内置全局函数,不修改原迭代内容,对所有的迭代都有效

list1 = [23, 14, 5, 89, 6]
print(sorted(list1))  # [5, 6, 14, 23, 89]

对字符串排序返回列表

print(sorted('adfkceg')) #['a', 'c', 'd', 'e', 'f', 'g', 'k']

九、其它方法

count()

统计某个元素在序列中出现的次数

字符串:

s1 = 'adsfaa'
print(s1.count('a'))  # 3

列表:

list1 = ['23', '14', '14','23', '5', '89', '6']
v = list1.count('23')
print(v)  # 2

len()

返回序列的长度

list1 = [23, 14, 5, 89, 5, 6]
print(len(list1))  # 6

max()

返回列表中的最大值

list1 = [23, 14, 5, 89, 5, 6]
print(max(list1))  # 89

min()

返回列表中的最小值

list1 = [23, 14, 5, 89, 5, 6]
print(min(list1))  # 5

sum()

求和

list1 = [23, 14, 5, 89, 5, 6]
print(sum(list1))  # 142
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: