实验目的及要求:
一、实验目的:
(1)掌握列表及其基本操作方法。
(2)熟悉列表推导语法。
(3)掌握range()函数的使用方法。
(4)掌握序列的切片语法。
(5)熟悉列表遍历语法的使用。
二、实验要求:
(1)完成实验课本4.1~4.6。
(2)使用Pycharm+Python或Pycharm+Anaconda或VSC完成程序编写、调试、运行,并将代码及运行结果截图整理成文档,形成实验报告,并总结心得体会。
实验内容:
4.1:
a=['210123','Dora',17,True,[['Math',74],['Physics',90]],True]
print(a)
print(a[1])
print(a[-1])
print(a[-4])
print(a[4])
print(a[4][0][1])
print(a[-2][1][0])
a.append("15.7")
print(a)
a.insert(2,'female')
print(a)
del a[5]
a.append(17)
a.remove(17)
print(max([1,99,6.7]))
a.append([11,22])
print(a)
a.extend([11,12])
print(a)
print(15.7 in a)
print(15.7 not in a)
print(a.count('True'))
a.clear()
print(a)
4.2:
fruits=['grape','pear','apple','water melon']
fruitsSorted=sorted(fruits)
print("fruitsSorted:",fruitsSorted)
print("fruits:",fruits)
fruits.reverse()
print("reverse fruits:",fruits)
fruits.sort(key=len)
print("sorted fruits by len:",fruits)
v=[7,11,13]
print(max(v))
print(min(v))
print(sum(v))
print(sum(v)/len(v))
v.append("seven")
print(sum(v))
a=[1,1]
b=[2,3]
print(a+b)
print(b*3)
print("victory"*3)
4.3:
leapYears = [x for x in range(2000, 3001) if \
(x % 400 == 0) or (x % 100 != 0 and x % 4 == 0)]
print("Leap years(2000,3001):", leapYears)
suits =['♠','♣','❤','方块']
ranks =['A','2','3','4','5','6','7','8','9','10','J','Q','K']
cards=[x+'-'+y for x in suits for y in ranks]
print(cards)
4.4:
print(list(range(4)))
print(list(range(7,11)))
print(list(range(1,14,3)))
print(list(range(15,2,-4)))
print(list(range(-20,20,6)))
print(list(range(-1,-22,-7)))
4.5:
from re import X
v1=[x for x in range(-5,+10,2)]
v2="".join([chr(ord('a')+x) for x in range(26)])
print("v1:",v1)
print("v2:",v2)
print(v1[:6])
print(v1[-6:-1])
print(v1[-1:-7:-2])
print(v2[:25])
print(v2[::-5])
print(v2[::-1])
print(v2[:-5:7])
a=[1,2,3,4,5,6,7]
b=a
c=a[:]
a[3:5]=99,100
print("a=",a,"id(a)=",id(a))
print("b=",b,"id(b)=",id(b))
print("c=",c,"id(c)=",id(c))
4.6:
def in_strict(x,v):
for e in v:
if type(e)==type(x) and e==x:
return True
return False
v=list(eval(input("input:")))
print("before:",v)
v=[x for i,x in enumerate(v) if not in_strict(x,v[i+1:])]
print("after:",v)