列表
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
特点: 是一个有序的,可以重复的序列,可变类型。
1.创建一个列表。
liet1 = []
print(type(liet1))
2.创建一个有多个值的列表,每个值用逗号隔开。
list2 = [18,25,16,22,28]
3.列表也可以存放不同类型的元素。
list3 = [18,"str",[1,2,3],(68,67),{'name':'Tom‘,’age':18}]
4.列表的拼接
list3+list
5.列表的重复
list2*3
6.列表索引和切片
>>> lst2 = [18,"str",[1,2,3],(66,67),{'name':'Tom','age':18}]
>>> len(lst2)
5
>>> lst2[0]
18
>>> lst2[3]
(66, 67)
>>> lst2[3:]
[(66, 67), {'name': 'Tom', 'age': 18}]
>>> lst2[0::2]
[18, [1, 2, 3], {'name': 'Tom', 'age': 18}]
列表的常见操作
列表:
names = ['a','b','c','d']
1.增加
append(),extend(),insert()
- 1)append(),增加到最后
>>> names = ['a','b','c','d']
>>> names.append('e')
>>> names
['a', 'b', 'c', 'd', 'e']
>>> names = ['a','b','c','d']
>>> names.append([1, 2, 3])
>>> names
['a', 'b', 'c', 'd', [1, 2, 3]]
- 2)extend(),迭代的去增
>>> names = ['a', 'b', 'c', 'd']
>>> place = ['beijing', 'shandong', 'usa']
>>> names.extend(place)
>>> names
['a', 'b', 'c', 'd', 'beijing', 'shandong', 'usa']
>>>
- 3)insert(),按照索引去增加
>>> names = ['a', 'b', 'c', 'd']
>>> names.insert(2,'devilf')
>>> names
['a', 'b', 'devilf', 'c', 'd']
- 4)其他的插入方法:
>>> names[3] = 'lebron'
>>> names
['a', 'b', 'devilf', 'lebron', 'd']
2.删除
pop, remove, del, clear
-
- pop()
>>> names = ['a','b','c','d','e']
>>> names.pop() # 如果没有指定下标,则默认会删除最后一个人元素
'e'
>>> names
['a', 'b', 'c', 'd']
>>> names.pop(2) # 指定索引时,就会删除索引所对应的元素
'c'
>>> names
['a', 'b', 'd']
>>>
- 2)remove(),按照元素删除
>>> names = ['a','b','c','d','e','f','e']
>>> names.remove('e') # 从左往右第一个
>>> names
['a', 'b', 'c', 'd', 'f', 'e']
- 3)del
>>> names = ['a','b','c','d','e','f','e']
>>> del names[4]
>>> names
['a', 'b', 'c', 'd', 'f', 'e']
- 4)clear()
>>> names = ['a','b','c','d','e','f','e']
>>> names.clear() # 清空
>>> names
[]
3.改
>>> li = ['a','b','c','d']
>>> li[1] = 'cc'
>>> li
['a', 'cc', 'c', 'd']
>>> li[0:2] = ['aa','bb']
>>> li
['aa', 'bb', 'c', 'd']
>>> li[0:4] = ['aa','bb']
>>> li
['aa', 'bb']
4.查
切片去查,或者,循环去查
- 索引、切片、遍历
5.其他操作:
1.查看元素所在位置:index()
>>> names = ['a','b','c','d']
>>> names.index('c')
2
>>>
2.统计元素的次数:count()
>>> names.append('d')
>>> names.count('d')
2
3.反转:reverse()
>>> list = [1, 2, 3, 4, 5]
>>> list.reverse()
>>> list
[5, 4, 3, 2, 1]
4.排序:sort()按照ascii码来进行排序
>>> names = ['a','b','c','d','e']
>>> names.insert(3,'&&')
>>> names
['a', 'b', 'c', '&&', 'd', 'e']
>>> names.sort()
>>> names
['&&', 'a', 'b', 'c', 'd', 'e']
>>> names.sort(reverse=True)
>>> names
['e', 'd', 'c', 'b', 'a', '&&']
5.对列表进行切片处理
- 1)列出所有的元素
>>> names = ['&&', 'a', 'b', 'd', 'devilf', 'lebron', 'beijing', 'shandong', 'usa']
>>> names[::]
['&&', 'a', 'b', 'd', 'devilf', 'lebron', 'beijing', 'shandong', 'usa']
-
2)列出最后一个人元素,从中间位
置开始,列出后面所有的元素
>>> names = ['&&', 'a', 'b', 'd', 'devilf', 'lebron', 'beijing', 'shandong', 'usa']
>>> names[-1]
'usa'
>>> a = int(len(names)/2)
>>> names[a:]
['devilf', 'lebron', 'beijing', 'shandong', 'usa']
list三种遍历方式
>>> name = ['aa','bb','cc']
>>> for i in name:
... print(i)
>>> for i in range(len(name)):
... print(i,name[1]) # 获取索引位置,值
>>> for index,value in enumerate(name): # 使用enumerate()函数,转换位索引-元素对
... print(index,value)