python数据结构-列表-1

python数据结构-列表:
变量可以储存一个元素,但是列表是一个“大容器”,可以存储N个元素,可以方便对这些数据进行整体操作
列表相当于其他语言中的数组:

列表的创建:

#First 使用[]进行创建
List = ["I","Love","Python"]

#Second 使用list()方法进行创建
List = list(["I","Love","Python"])

列表的操作

List = ["I","Love","Python"]

print(List.index("Love"))

#输出结果为1

1、如果列表中存在多个相同的元素,则只返回第一个元素的索引值

2、如果查询的元素不存在,则返回ValueError

3、还可以在指定的范围内进行查找

List = ["I","Love","Python"]

print(List.index("Love",0,1))

#输出结果为1,在0到1之间查找

1、正向索引

List = ["I","Love","Python"]

print(List[2])

#输出结果为Python

2、逆向索引

List = ["I","Love","Python"]

print(List[-1])

#输出结果为Python

3、如果元素不存在,则抛出IndexError错误
1、通过切片来获取 列表名[start,stop,step]

List = ["I","Love","Python"]

print(List[0:2:1])
#输出结果为['I','Love']

#由于步长可以省略,所以step可以不写
print(List[0:2])
#输出结果依然为['I','Love']

print(List[0:3:2])
#设置步长为2.输出结果为['I','Python']

print(List[2:0:-1])
#若设置步长为-1,则start为最后一个元素,stop默认为第一个元素
#输出结果为['Python','Love']

需要注意的是,切片操作,会创造新的列表对象,即对象的id(在内存中的位置)会改变

判断列表元素是否存在

类表元素的增加的操作

1.append() 在列表的末尾添加一个元素
2.extend() 在列表的末尾至少添加一个元素
3.insert() 在列表的任意位置添加至少一个元素
4.切片   在列表的任意位置添加一个一个元素

append()函数

List = ['I','Love','Python']
List.append('Very Much')
print(List)
#输出结果为['I','Love','Python','Very Much']

但是,如果想要加入[‘Very’,‘Much’]两个元素的话,用append()函数,会将两个元素当作一个列表元素插入列表中

List = ['I','Love','Python']
List.append(['Very','Much'])
print(List)
#则会输出['I','Love','Python',['Very','Much']]

extend()函数
使用entend()函数则不会出现以上情况

List = ['I','Love','Python']
List.extend(['Very','Much'])
print(List)
#则会输出['I','Love','Python','Very','Much']

insert()函数
会在指定位置插入元素

List = ['I','Love','Python']
List.insert(3,"Very Much")
print(List)
#输出结果为 ['I', 'Love', 'Python', 'Very Much']

使用切片进行替换

List = ['I', 'Love', 'Python']
List[2:] = ["C++"]
print(List)
#输出结果为 ['I', 'Love', 'C++']

列表元素的删除

删除操作:
remove 
一次删除一个元素
重复元素只删除第一个
元素不存在就抛出ValueError
--------
pop
删除一个指定索引位置上的元素
指定索引不存在抛出indexError
不指定索引,删除列表中的最后一个元素
--------
切片 
一次至少删除一个元素
--------
clear()
清空列表
--------
del
删除列表
--------


remove()函数

List = ['I', 'Love', 'Python']
List.remove('I')
print(List)
#输出结果为['Love','Python']

pop()函数

List = ['I', 'Love', 'Python']
List.pop(0)
print(List)
#输出结果为['Love','Python']

切片

List = ['I', 'Love', 'Python']
List[1:] = []
#默认stop为最后一个元素,设置从索引值为1的元素Love到最后用[]代替

print(List)
#输出结果为['I']

claer()函数
将列表清空

List = ['I', 'Love', 'Python']
List.clear()
#执行clear()方法

print(List)
#输出结果为[],输出结果为空列表

del()函数
删除列表

List = ['I', 'Love', 'Python']
del List
#执行del 内置函数

print(List)
# 报错:NameError: name 'List' is not defined

列表元素修改
为指定索引的元素赋予一个新值

List = ['I', 'Love', 'Python']
List[2] = 'C++'

print(List)
#输出结果为List = ['I', 'Love', 'C++']

为指定切片赋予一个新值

List = ['I', 'Love', 'Python']
List[2:] = ['C++']

print(List)
#输出结果为List = ['I', 'Love', 'C++']

列表元素排序
sort()
调用sort()方法,使得列表中元素按照顺序升序排序;如果想要采取降序排列,则设置reverse = True

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

List.sort()
print(List)
#输出结果为[1, 2, 3, 4, 5, 6, 7]

List.sort(reverse=True)
print(List)
#输出结果为[7, 6, 5, 4, 3, 2, 1]

sorted()内置函数

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

print(sorted(List))

#输出结果为[1, 2, 3, 4, 5, 6, 7]
上一篇:[Codeforces 1523D] Love-Hate


下一篇:数组的常用方法之split