数据结构--列表,元组
列表¶
In [1]:
# 列表(list)是Python以及其他语言中最常用到的数据结构之一。
# Python使用使用中括号 [ ] 来解析列表,列表中可以嵌套其他数据类型
In [29]:
a = [1,2,3]
b = [4,5,6]
a+b
Out[29]:
In [30]:
a*3
Out[30]:
访问和使用列表元素¶
In [10]:
count =[18,19,20,21,22]
In [4]:
# 通过索引使用列表内元素
print("我今年%d岁了"%count[0])
In [7]:
# 列表切片
number=count[:]
print(number)
print(number is count)# 比较内存地址
In [11]:
# 直接赋值时,他们指向的是同一内存地址,修改其中一个另一个也会改变,后面会介绍深浅赋值
number1 = count
print(number1 is count)
count.append(23)
print(number1)
print(number)
In [12]:
print(count[1:]) # 切片
print(count[1:19]) # 索引越界不会异常
修改,删除和添加元素¶
In [13]:
# 根据索引取修改
count = [1,2,3,4,5,6]
count[3] = 3 # 为列表下的元素赋新值
print(count)
In [14]:
# 切片,迭代的去修改
count = [1,2,3,4,5,6]
count[0:2]="123" # 将新值迭代替换入指定位置
print(count)
In [15]:
count = [1,2,3,4,5,6]
count[0:2]=["123"] # 这样就不会把字符串拆散开来,迭代的是列表
print(count)
In [16]:
count = [1,2,3,4,5,6]
count[0:2]=123 # 异常,数字不可迭代
print(count)
添加元素¶
In [17]:
# append()追加
count = [1,2,3,4,5,6]
count.append(7)
print(count)
In [18]:
# insert()插入
count = [1,2,3,4,5,6]
count.insert(1,5) # 在索引为1的位置插入元素5,后面元素向后移动
print(count)
In [19]:
# extend() 迭代去增,将可迭代元素中的每一个元素追加进列表中
count = [1,2,3,4,5,6]
count.extend([7,8,9])
print(count)
删除元素¶
In [20]:
# 使用del根据索引删除元素
count = [1,2,3,4,5,6]
del count[1]
print(count)
In [22]:
# pop()根据索引删除元素,并且返回删除的元素
count = [1,2,3,4,5,6]
a = count.pop() # 默认删除最后一个
print(count,a)
In [23]:
# 根据值来删除元素,当存在相同值时只删除第一个
count = [1,1,2,3,4,5,6]
count.remove(1)
print(count)
In [24]:
# 清空列表
count = [1,2,3,4,5,6]
count.clear()
print(count)
组织列表¶
In [25]:
# sort() 升序排序,传递reverse=Ture进行降序排序,字符传的排序是按照ascii码来排序的
count = [1,7,5,8,3,9]
count.sort()
print(count)
In [26]:
# 可以传递一个函数,按返回值来排序
count = [-2,-1,0,1,2]
count.sort(key=abs)
print(count)
In [27]:
# sorted() 返回一个新的列表,同样可以传递reverse和key
count = [1,7,5,8,3,9]
count1 = sorted(count)
print(count)
print(count1)
In [30]:
count = [-2,-1,0,1,2]
count1 = sorted(count,key=abs)
print(count)
print(count1)
In [31]:
# 将列表反转
count = [-2,-1,0,1,2]
count.reverse()
print(count)
其他操作¶
In [32]:
# count() 查看元素在列表中出现的次数
count = [-2,-1,0,1,2,2,-1]
print(count.count(1))
In [33]:
# len() 返回列表中元素个数
count = [-2,-1,0,1,2,2,-1]
print(len(count))
In [34]:
#index(),从列表中找出某个值第一个匹配项的索引位置
count = [-2,-1,0,1,2,2,-1]
print(count.index(-1))
In [37]:
# join() # 用一个字符串将可迭代对象中的字符串连接成字符串
count = ["-2","-1","0","1","2","2","-1"]
print("*".join(count))
In [38]:
s =[1,2]
temp = "*".join(s) #会报错,数字不能拼接到字符串里
元组¶
In [39]:
# 元组就是不可变的列表,元组中的元素不可修改,但他嵌套中的其他数据结构可以改变
# 元组使用()来标识
count=(1,2,3,4)
In [40]:
print(count[0]) # 通过索引访问元组内元素
In [41]:
count[0] = 1 # 尝试修改元组内元素
In [42]:
count=(4,[1,2,3,4,5],2,1)
count[1][0] = 0 # 修改元组内嵌套的其他数据结构的元素
print(count)