Python-基础知识-列表list和元组tuple 列表List

创建列表:

>>> week = ["Sun","Mon","Tue","Wen","Thu","Fri","Sat"]
>>> week
['Sun', 'Mon', 'Tue', 'Wen', 'Thu', 'Fri', 'Sat']

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含

一、索引

  用索引来访问list中每一个位置的元素,记得索引是从0开始,使用-1获取list中最后一个元素:

>>> week[0]
'Sun'
>>> week[-1]
'Sat'

二、切片

>>> print(week[0:3])    #切片
['Sun', 'Mon', 'Tue']
>>> week[3:-1]
['Wen', 'Thu', 'Fri']
>>> print(week[::2])    #带偏移切片
['Sun', 'Tue', 'Thu', 'Sat']

三、追加

>>> week.append("One")
>>> week
['Sun', 'Mon', 'Tue', 'Wen', 'Thu', 'Fri', 'Sat', 'One']

四、插入

>>> week.insert(1,"Two")    #在指定位置插入元素
>>> week
['Sun', 'Two', 'Mon', 'Tue', 'Wen', 'Thu', 'Fri', 'Sat', 'One']

五、修改

>>> week = ["Sun","Mon","Tue","Wen","Thu","Fri","Sat"]
>>> week
['Sun', 'Mon', 'Tue', 'Wen', 'Thu', 'Fri', 'Sat']
>>> week[1] = "Four"    #修改指定元素的值
>>> week
['Sun', 'Four', 'Tue', 'Wen', 'Thu', 'Fri', 'Sat']

六、删除

>>> week.remove("One")    #删除list中指定值的元素
>>> week
['Sun', 'Four', 'Mon', 'Tue', 'Wen', 'Thu', 'Fri', 'Sat']
>>> del week[3]    #删除list中指定位置元素
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'Sat']
>>> week.pop()    #删除list中最后一个元素
'Sat'
>>> week
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri']

七、扩展

>>> Num = ["One","Two","Three","Four","Five","Six","Seven"]
>>> week.extend(Num)
>>> week
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']

八、拷贝

>>> week2 = week.copy()    #深复制,id值不一样
>>> week
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> week2
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> id(week)
2608861285192
>>> id(week2)
2608861285896

>>> week2 = week    #浅复制,id值一样
>>> week
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> week2
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> id(week)
2608861285192
>>> id(week2)
2608861285192


#另一种复制方法
>>> import copy
>>> week2 = copy.deepcopy(week)
>>> week
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> week2
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> id(week)
2608861285192
>>> id(week2)
2608862744520
>>> week2 = copy.copy(week)
>>> week
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> week2
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> id(week)
2608861285192
>>> id(week2)
2608861304840

九、排序和翻转

>>> names
['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
>>> names.sort() #排序
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了,擦
>>> names[-3] = '1'
>>> names[-2] = '2'
>>> names[-1] = '3'
>>> names
['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
>>> names.sort()
>>> names
['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']

>>> names.reverse() #反转
>>> names
['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

十、统计

>>> names
['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
>>> names.count("Amy")
2

十一、获取下标

>>> week
['Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven']
>>> week.index("Mon")    #返回第一个找到的元素的下标
2

元组Tuple

  元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表。

  创建元组,因为元组不能修改,它只有2个方法,一个是count,一个是index。

>>> week = ('Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven')
>>> week
('Sun', 'Four', 'Mon', 'Wen', 'Thu', 'Fri', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven')
>>> week.index("Mon")
2
>>> week.count('Mon')
1