0.定义:
列表是由一些列按照特定顺序排列的元素组成。
可以将任何东西加入列表,其中的元素之间可以没有任何关系;
示例:
demo_list = [1,"python",[0,1,2],{'URL':'https://blog.csdn.net/'}]
1.索引
列表第一个元素从0开始,而不是1;
负数索引,可以让列表倒序查找元素。
list[0] : 为列表第一个元素
list[-2]: 为列表倒数第二个元素
2.修改、添加、删除
修改:
a = [0,1,2,3,4,5,6,7,8,9]
a[5] = "five"
print(a)
#result:[0, 1, 2, 3, 4, 'five', 6, 7, 8, 9]
添加:
- 在列表末尾添加,使用list.append()
a = [0,1,2,3,4,5,6,7,8,9]
a.append(10)
print(a)
#result:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 在列表中间位置添加,使用list.insert()
a = [0,1,2,3,4,5,6,7,8,9]
a.insert(5,10)
print(a)
#result:[0, 1, 2, 3, 4, 10, 5, 6, 7, 8, 9]
下面的这种方法也是可行的,但不常用:
a = [0,1,2,3,4,5,6,7,8,9]
a[5:6] = [5,2018,2019,2020,2021]
print(a)
#result:[0, 1, 2, 3, 4, 5, 2018, 2019, 2020, 2021, 6, 7, 8, 9]
删除:
- 使用del删除
a = [0,1,2,3,4,5,6,7,8,9]
del a[5]
print(a)
#result:[0, 1, 2, 3, 4, 6, 7, 8, 9]
- 使用pop() 弹出删除
a = [0,1,2,3,4,5,6,7,8,9]
a.pop()
print(a)
#result:[0, 1, 2, 3, 4, 6, 7, 8]
- 弹出任意位置元素
a = [0,1,2,3,4,5,6,7,8,9]
a.pop(5)
print(a)
#result:[0, 1, 2, 3, 4, 6, 7, 8, 9]
- 根据元素值删除
week = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
week.remove('Monday')
print(week)
#result:['Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
3.列表排序
- 永久排序
week = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
week.sort()
print(week)
#result:['Friday', 'Monday', 'Saturday', 'Sunday', 'Thursday', 'Tuesday', 'Wednesday']
- 临时排序
week = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
print(sorted(week))
#result:['Friday', 'Monday', 'Saturday', 'Sunday', 'Thursday', 'Tuesday', 'Wednesday']
print(week)
#result:['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
4.倒序翻转
week = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
week.reverse()
print(week)
#result:['Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']
注意:list.reverse() 是没有返回值的,所以print(list.reverse()) 和 l = list.reverse() 得到的都是None
list.sort() 也是一样的。
import numpy as np
a = np.arange(10).tolist()
b = a.reverse()
print(b)
#result:None
5.列表长度
week = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
print(len(week))
#result:7
6.list.index()
用法:L.index(value, [start, [stop]]) -> integer -- return first index of value.
返回元素值所在的索引,可以指定搜索的起止点。
week = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
print(week.index('Tuesday',0,5))
#result:1
起止点可以指定搜索范围:
import numpy as np
a = np.arange(10).tolist()
b = np.arange(10).tolist()
c = a + b
print(c)
#result:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(1)
#result:1
print(c.index(1,5,15))
#result:11