0. 自己动手试试看,并分析在这种情况下,向列表添加数据应当采用哪种方法比较好?
假设给定以下列表:
member = [‘小甲鱼’, ‘黑夜’, ‘迷途’, ‘怡静’, ‘秋舞斜阳’]
要求将列表修改为:
member = [‘小甲鱼’, 88, ‘黑夜’, 90, ‘迷途’, 85, ‘怡静’, 90, ‘秋舞斜阳’, 88]
错误做法:
member = ['小甲鱼','黑夜','迷途','易经','斜阳']
member.insert(1,88)
member.insert(2,90)
member.insert(3,85)
member.insert(4,90)
member.insert(5,88)
print(member)
#没有考虑到每个字符串就是一位小甲鱼为0,后面为2,黑夜为3以此类推,因此正确的做法应该是:
member = ['小甲鱼','黑夜','迷途','易经','斜阳']
member.insert(1,88)
member.insert(3,90)
member.insert(5,85)
member.insert(7,90)
member.insert(9,88)
print(member)
1. 利用 for 循环打印上边 member 列表中的每个内容
member = ['小甲鱼',88,'黑夜',90,'迷途',85,'易经',90,'斜阳',88]
for i in member:
print(i)
2. 上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】(大概的样式就是如下图,网上没有图)
小甲鱼 88
黑夜 90
迷途 85
易经 90
斜阳 88
**法一:由于不知道怎么直接打印列表当中的东西,因此必须通过for+in循环来将列表当中的字符串提取出来打印**、
member = ['小甲鱼',88,'黑夜',90,'迷途',85,'易经',90,'斜阳',88]
count = 2
for i in member:
if count%2 == 0:
print(i,end=" ")
else:
print(i)
count += 1
**法一改进:知道了直接打印列表中字符串打印方式后**
#首先法一改进是在知道可以用print(member[count],member[count+1]))基础上,这样可以直接输入列表的值
#于是可以将列表数字化,在引入一个conut进行循环变量
member = ['小甲鱼',88,'黑夜',90,'迷途',85,'易经',90,'斜阳',88]
lengenty= len(member)
count = 0
while count < lengenty:
print(member[count],member[count+1])
count += 2
再次改进的法二:
member = ['小甲鱼',88,'黑夜',90,'迷途',85,'易经',90,'斜阳',88]
for i in range(len(member)):
if i%2 == 0:
print (member [i], member [i+1])
#for 和 range 的日常狼狈为奸。其明显节约了定义一个count和while循环的时间,直接把表变成数值变量并循环,然后在满足数值要求的情况下输出列表的值
总结:1.列表中append,extend,insert的运用
2.range for 狼狈为奸的好处