列表类型
列表类型有点类似
javascript
中是数组,但是不能理解为数组, 可以存储任何数据类型
一、创建列表的方式
1、直接创建
list1 = [1, 2, 3, '哈哈', (1, 2, 3), {'name': '嘻嘻'}]
2、使用对象方式创建
list2 = list([....])
3、列表推导式
li = [x for x in range(10)]
二、列表中用的方法或属性
- 1、
in/not in
判断属性在列表中 - 2、
len()
计算长度 - 3、切片操作
4、
append()
追加元素list1.append('hello')
5、删除
pop()
删除list1.pop() #如果不指定下标就默认删除最后一个,如果有指定就会删除指定位置的 list1.pop(1)
remove()
删除指定元素list1.remove('hello')
del
删除指定坐标元素del list1[1]
6、
index()
查找元素所在的位置- 7、
count()
计算一个元素在列表中的个数 - 8、
reverse()
返回列表 - 9、
clear()
清空列表 10、
insert(位置, 元素)
插入元素list1.insert(1, '水痕')
- 11、
sort()
排序 - 12、
列表一.extend(列表二)
合并两个列表 - 13、
copy()
拷贝列表
三、几种遍历列表的方式
1、直接使用
for..in
遍历list1 = ['哈哈', '嘻嘻', '呵呵'] for i in list1: print(i)
2、遍历带下标
for index, val in enumerate(list1): print(index, val)
3、使用
range
遍历for i in range(len(list1)): print(list1[i])
4、使用
iter
生成一个可迭代对象for val in iter(list1): print(val)
四、灵活的掌握列表推导式的使用
1、直接使用
print([x for x in range(10)])
2、进行运算
print([x * 2 for x in range(10)])
3、进行判断
print([x * 2 for x in range(10) if x > 5])
4、返回值可以是元祖
print([(x, x * 2) for x in range(10)]) print(dict([(x, x * 2) for x in range(10)]))
5、多个条件的判断
print([(x, y) for x in range(10) if x % 2 if x > 3 for y in range(10) if y > 7 if y != 8])
6、结合内置函数来使用
print(list(zip([x for x in range(0, 5)], [y for y in range(5, 9)]))) # [(0, 5), (1, 6), (2, 7), (3, 8)]