一、创建列表
a_list = ['a',1,('a','b')]
b_list = ['a','b',0,1,3]
二、创建连续的list
list = range(1,5) #即 L=[1,2,3,4],不含最后一个元素
list = range(1, 10, 2) #即 L=[1, 3, 5, 7, 9]
二、得到列表中的某一个值
print(a_list[0])
print(a_list[-1])
三、删除列表的第一个值
del a_list[0]
四、在列表中插入一个值
a_list[0:0] = ['hello python']
五、得到列表的长度
print(len(a_list))
六、列表遍历
for element in a_list:
print(element)
七、删除元素
for i in range(len(b_list)):
if b_list[i] == 4:
del b_list[i]
print(b_list)
这样没问题,可以遍历删除,但是列表l如果变为 b_list = [1,2,3,4,5]如果还是按照上面的方法,range开始的范围是0-4,中间遍历的时候删除了一个元素4,这个时候列表变成了= [1,2,3,5],这时候就会报错了,会提示下标超出了数组的表示,原因就是遍历的时候删除了元素,所以python的list在遍历的时候删除元素一定要小心可以使用filter过滤返回新的list
b_list = [1,2,3,4]
b_list = filter(lambda x:x !=4,b_list)
print(b_list)
这样可以安全删除b_list中值为4的元素了,filter要求两个参数,第一个是规则函数,第二个参数要求输入序列,而lambda这个函数的作用就是产生一个函数,是一种紧凑小函数的写法,一般简单的函数都可以这样写或:
b_list = [1,2,3,4]
b_list = [ i for i in b_list if i !=4]//同样产生一个新序列,复值给b_list
print(b_list)
要遍历的时候删除元素一定要小心
八、Python 列表高级操作/技巧
8.1产生一个数值递增列表
num_list = range(30)
print(num_list)
#返回列表 [0,1,2,...,29]
8.2用某个固定值初始化列表
initialValue = 0
listLength = 5
sampleList = [initialValue for i in range(10)]
sampleList = [initialValue]*listLength
#sampleList ==[0,0,0,0,0]
九、list的方法
L.append(var) #追加元素
L.insert(index,var)
L.pop(var) #返回最后一个元素,并从list中删除之
L.remove(var) #删除第一次出现的该元素
L.count(var) #该元素在列表中出现的个数
L.index(var) #该元素的位置,无则抛异常
L.extend(list) #追加list,即合并list到L上
L.sort() #排序
L.reverse() #倒序
十、list的复制
L1 = L #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传递的
L1 = L[:] #L1为L的克隆,即另一个拷贝。