python 数组
2021-05-30 08:06
标签:val 空间 遍历 remove family extend 案例 span 获取 上面案例的问题 重复 类代的代码很多 如果有10个学生、一百个学生。。。 数学中的数组(数列) X = A1+A2+A3 程序中也有数组 A[1] 变量的本质,就是一个储存空间,是一个地址 一个宿舍 数组的本质,一段连续的内存空间 一层宿舍,每个房间有编号[从0开始的] #(1)定义 ##(2)获取列表中值 ##(3)获取索引(下标) #ValueError:‘李阳‘ is not in list,找不到会报错 ##(4)修改 列表中的值 ##(5) 添加 ##5.2insert 添加 inert(索引,需要插入的值) ###5.3 extend扩展,A.exrend(B,将B列表中元素放到A的后面 ##(6)删除 ###6.2 pop(),把尾部元素删除 ###6.3 pop(2),指定 索引 的删除 ###6.4清空 ##(7) 列表的长度(元素的个数) print("统计 列表 长度%d" % (len(listName))) ##(8) 删除 del,清空内存空间 a = 18 listName = ["张三丰","李四","李子明","炼铜"] #遍历列表中所有元素 a = input("请输入a:") print("a = %s;b = %s"%(a,b)) c = a #先将 a 临时放入 c print("a = %s;b = %s"%(a,b)) """ ##把最大值放到最后面 print(list) python 数组 标签:val 空间 遍历 remove family extend 案例 span 获取 原文地址:https://www.cnblogs.com/lize666/p/14752479.html一、数组(list)
7.1数组的知识
7.2变量的本质
7.3定义与基本使用
list = [] #定义一个空列表
listName = ["张三丰","王麻子","李四","李四"] #定义列表,储存了3个元素
print("获取列表中第一个值:%s"%(listName[0]))
print("李四的索引(下标):%s"%(listName.index("李四")))#若果有多个,找第一个
#print("李阳的索引(下标):%s"%(listName.index("李阳")))
listName[3] = "李阳"
print("李阳的索引(下标):%s"%(listName.index("李阳")))
###5.1 append在尾部添加
listName.append("隔壁老王")
print(listName)
listName.insert(1,"小姐姐")
print(listName)
list2 = ["猴哥","八戒","沙僧"]
listName.extend(list2)
print(listName)
###6.1remove:删除列表中具体的值
listName.remove("八戒")
print(listName)
listName.pop()
print(listName)
listName.pop(2)
print(listName)
# listName.clear()
# print(listName)
print("统计 小姐姐 的个数%d" % (listName.count("小姐姐")))
print(listName)
del listName[1]
print(listName)
del a7.4列表的遍历(一个一个)
print("*"*20)
for i in listName:
print(i)
print("*"*20)
##通过 下标(索引)获取值
for i in range(0,len(listName)):
print("第%d -> %s"%(i,listName[i]))7.5数组的利用(面试问得多)
7.5.1元素的互换
b = input("请输入b:")
a = b ##再把 b 放到 a的位置
b = c ###从c中 把 a 放到 b的位置7.5.2冒泡排序法
7.5.3选择排序
选择排序
原始: 22、11、33、66、88、44、55
第一趟:找出最大值88,下标5。从[1,6]中找;最后一个下标 6
22,11,33,66,55,44,88
第二趟:找出最大值88,下标5。从[1,6]中找;最后一个下标 6
22,11,33,44,55,66,88
第三趟:找出最大值88,下标5。从[1,6]中找;最后一个下标 6
22,11,33,44,55,66,88
第四趟:找出最大值88,下标5。从[1,6]中找;最后一个下标 6
22,11,33,44,55,66,88
第五趟:找出最大值88,下标5。从[1,6]中找;最后一个下标 6
11,22,33,44,55,66,88
最多换位置:n-1
"""
list = [22,11,33,66,88,44,55]
for i in range(0, len(list)):##循环次数
#找出最大值
t = list[0]#假设第一个最大
index = 0##最大值的索引
for j in range(1, len(list)-i):
if list[j] > t:
t = list[j]
index = j
last = len(list)-1-i ##最后一个值的下标
list[index] = list[last]
list[last] = t