列表常用操作
"""
1 创建列表
"""
a = [1,2,3,4,'你好']
print(a) #>>>[1,2,3,4,'你好']
"""
2 向列表中添加元素
"""
a = [1,2,3,4]
a.append(5) #将元素增加到列表的末尾,并且一次只能添加一个元素
print(a) #>>>[1,2,3,4,5]
a = [1,2,3,'你好'] #extend()方法可以添加多个元素,但是必须以列表的形式添加
a.extend([4,'bye']) #>>>[1, 2, 3, '你好', 4, 'bye']
print(a)
a = [1,2,3,4]
a.insert(2, 'four') # 插队的方法添加元素 insert(index,object)
print(a) #>>>[1, 2, 'four', 3, 4]
a = [0 for _ in range(20)] #创建一个20个0的列表
"""
3 向列表中删除元素
"""
a = ['你好','py','tho','n']
a.remove('你好') #需要知道列表中已知的元素,才可以进行对应的删除
print(a) #>>>['py', 'tho', 'n']
a = ['你好','py','tho','n']
del a[2] #del可以删除指定位置的元素
print(a) #>>>['你好', 'py', 'n']
del a #后面跟着列表名可以删除整个列表
a = ['你好','py','tho','n']
a.pop(3) #弹出指定的元素
print(a) #>>>['你好', 'py', 'tho']
a.pop() #若无指定的index则默认弹出最后一个元素
print(a) #>>>['你好', 'py']
a.pop(len(a) - 1)
"""
4 从列表中获取元素
"""
a = [1,'你好','py','tho','n',[2,3]]
print(a [5]) #直接方括号内带上index类似于c语音的数组
a = [1,'你好','py','tho','n',[2,3]] #列表的切片方法获取部分数组
print(a[1:4]) #>>>['你好', 'py', 'tho']
print(a[:2]) #>>>[1, '你好']
print(a[1:]) #>>>['你好', 'py', 'tho', 'n', [2, 3]]
print(a[:]) #>>>[1, '你好', 'py', 'tho', 'n', [2, 3]]
a = [1,'你好','py','tho','n',[2,3]]#访问列表中的列表元素
print(a[5][1]) #>>>3
"""
5 列表反转
"""
a = [1,'你好','py','tho','n',[2,3]]
print(a[::-1]) #>>>[[2, 3], 'n', 'tho', 'py', '你好', 1]
print(a) #>>>[1, '你好', 'py', 'tho', 'n', [2, 3]],没有改变列表本身
a = [1,'你好','py','tho','n',[2,3]]
a.reverse() #需要注意的是,reverse()是直接对列表本身做了翻转
print(a) #>>>[[2, 3], 'n', 'tho', 'py', '你好', 1]
"""
6 列表的拼接与重复
"""
a = [1,'你好','py','tho','n',[2,3]]
b=[4,5]
print(a+b) #>>>[1, '你好', 'py', 'tho', 'n', [2, 3], 4, 5]
a *= 2
print(a) #>>>[1, '你好', 'py', 'tho', 'n', [2, 3], 1, '你好', 'py', 'tho', 'n', [2, 3]]
"""
7 元素是否存在于列表中的判断
"""
a = [1,'你好','py','tho','n',[2,3]]
print(1 in a) #>>>True
print(7 in a) #>>>False
print(1 not in a) #>>>False
print(7 not in a) #>>>True
#in 和 not in 对于二层的列表元素判断也好使
print(2 in a[5]) #>>>True
print(3 in a[5]) #>>>True
"""
8 遍历列表
"""
# 通过循环用下标遍历列表元素
for index in range(len(list1)):
print(list1[index])
# 通过for循环遍历列表元素
for elem in list1:
print(elem)
# 通过enumerate函数处理列表之后再遍历可以同时获得元素索引和值
for index, elem in enumerate(list1):
print(index, elem)
"""
9 其余的操作
"""
a = ['你','你',1,2,1,'n','n'] #count可以返回元素出现的次数
print(a.count('你')) #>>>2
len(a) #可以查询列表的大小
a = [1,2,3,4] #index可以返回参数在列表中出现位置
print(a.index(2)) #>>>1
a = [3,1,34,325,1,2,6] #sort可以将列表进行排序
a.sort()
print(a) #>>>[1, 1, 2, 3, 6, 34, 325]
list1 = ['orange', 'apple', 'zoo', 'internationalization', 'blueberry']
list2 = sorted(list1) #根据字母表顺序进行排序
# sorted函数返回列表排序后的拷贝不会修改传入的列表
# 函数的设计就应该像sorted函数一样尽可能不产生副作用