# 创建列表(列表中元素类型不定,与JAVA不同(java中列表元素的数据类型是固定的))
>>> num = ['hello','world',1,2,3.14,[7,8,9]]
>>> entity = []
>>> empity = list()
# 使用列表生成式生成列表
>>> exp = [i for i in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 添加元素
# 1、在列表末尾添加元素
#append()函数 只能传入一个参数;若传入的值是列表,不会将列表中的元素扩展到另一个列表中,如:第二个例子
>>> entity.append('hi')
['hi']
>>> entity.append([1,2])
['hi', [1, 2]]
# extend() 传入一个参数,将一个列表扩展到另一个列表中
>>> entity.extend(['hello','yes'])
['hi', [1, 2], 'hello', 'yes']
>>> entity.extend('no')
['hi', [1, 2], 'hello', 'yes', 'n', 'o']
# 2、在列表指定位置添加元素
# 在列表的指定位置添加元素
# 如 entity = [1, 2, 3] 列表
>>> entity.insert(1,4) # 在第2个位置插入值 4
[1, 4, 2, 3]
>>> entity.insert(0,[0,0]) # 在第1个位置插入值 [0,0]
[[0, 0], 1, 4, 2, 3]
# 删除元素
### remove()方法
# 删除列表中的指定元素,若该元素出现多次,则删除第一个
# 如删除列表 entity = [[0, 0], 1, 4, 2, 3] 中的元素 4
>>> entity.remove(4)
[[0, 0], 1, 2, 3]
# 如删除列表 entity = [[0, 0], 1, 2, 3, 4, 3] 中的重复元素 3
# 结果:只删除了第一个3
>>> entity.remove(3)
[[0, 0], 1, 2, 4, 3]
### pop() 方法
# 默认删除最后一个元素,并打印删除的元素值
# 如: entity = [[0, 0], 1, 2, 4, 3]
# 最后一个元素3被删除,且打印被删除的元素 3
>>> entity.pop()
3
>>> entity
[[0, 0], 1, 2, 4]
# 指定元素下标删除元素,并打印删除的元素值
# 如: entity = [[0, 0], 1, 2, 4]
# 结果:第一个元素被删除 并打印删除的元素值[0, 0]
>>> entity.pop(0)
[0, 0]
>>> entity
[1, 2, 4]
### del 删除指定位置的元素
# 如: entity = [1, 2, 4]
# 删除第一个元素后结果为:[2, 4]
>>> del entity[0]
[2, 4]
# 如:entity = [[0, 0], 1, 2, 3, 4, 3] 删除第一个、第二个位置的元素
>>> del entity[:2]
[2, 3, 4, 3]
### clear 清空列表元素
>>> entity.clear()
总结:删除列表元素有4中方式:remove()、pop()、del、clear()
如果要清空整个列表一般使用 clear()方法
如果要删除某个位置的元素可使用pop()和del 方法如果要删除某个位置区间的元素使用del方法
如果不知道元素位置只知道元素值可用 remove()方法
# 元素操作
# 根据下标修改元素
# 如:entity=[1, 2, 3, 4, 5, 6] 把第三个元素改成2
>>> entity[2]=2
[1, 2, 2, 4, 5, 6]
# 反转列表元素
# 如:entity=[1, 2, 2, 4, 5, 6]
>>> entity.reverse()
[6, 5, 4, 2, 2, 1]
>>> entity[::-1]
[1, 2, 2, 4, 5, 6]
## 对列表元素进行排序
# sort() 默认升序排序,在原有列表上排序
# 如:entity=[6, 5, 4, 2, 2, 1]
>>> entity.sort()
[1, 2, 2, 4, 5, 6]
# 如:entity=[1, 2, 2, 4, 5, 6] 对列表进行降序排序
>>> entity.sort(reverse = True)
[6, 5, 4, 2, 2, 1]
# sorted() 方法默认升序排序,返回一个列表
# # 如:entity=[6, 5, 4, 2, 2, 1]
>>> sorted(entity)
[1, 2, 2, 4, 5, 6]
>>> sorted(entity, reverse = True)
[6, 5, 4, 2, 2, 1]
# 列表操作符
# 使用 “+” 号实现两个列表之间的拼接
>>> entity_first = [1,2,3,4]
>>> entity_last = [3,4,5,6]
>>> entity = entity_first + entity_last
[1, 2, 3, 4, 3, 4, 5, 6]
# 使用 “*” 实现列表的复制
>>> entity_first = [1,2,3,4]
>>> entity_copy = entity_first * 1
[1, 2, 3, 4]
>>> entity_copy = entity_first * 2
[1, 2, 3, 4, 1, 2, 3, 4]
>>> entity_copy1 = entity_first[:]
[1, 2, 3, 4]
# 对列表元素进行去重操作
# 如: entity_copy = [1, 2, 3, 4, 1, 2, 3, 4]
>>> list(set(entity_copy))
[1, 2, 3, 4]
# 遍历列表
entity = ['java', 'php', 'ruby', 'C++' ,'C' ,'python']
# 遍历取出值
for value in entity:
print(value)
# 根据索引遍历取出值
for key in range(len(entity)):
print(entity[key])
# 同时遍历索引和值
for key, value in enumerate(entity):
print(str(key) + '-----: ' + value)