列表解析
先回顾一下昨天生成的squares列表:
squares = []
for value in range(1, 11):
squares.append(value ** 2)
print(squares)
使用列表解析可以将前三行代码精简至一行代码:
squares = [value**2 for value in range(1, 11)]
print(squares)
练习
使用一个for循环打印数1~20:
numbers = list(range(1, 21))
print(numbers)
或
numbers = [digit for digit in range(1, 21)]
print(numbers)
或
numbers = []
for digit in range(1,21):
numbers.append(digit)
print(numbers)
创建一个包含数1~10000的列表,再使用min()和max()核实该列表确实是从1开始、到10000结束的。另外,对这个列表调用函数sum(),看看python将一万个数相加需要多长时间:
numbers = list(range(1,10001))
print(numbers)
print(min(numbers))
print(max(numbers))
print(sum(numbers))
太长了就不截全了
通过给函数range()指定第三个参数来创建一个列表,其中包含1~20的奇数,再使用一个for循环讲这些数打印出来:
numbers = list(range(1, 21, 2))
for number in numbers:
print(number)
创建一个列表,其中包含前10各整数(1~10)的立方,再使用一个for循环将这些立方数打印出来:
numbers = []
for number in range(1, 11):
numbers.append(number**3)
for n in numbers:
print(n)
使用列表解析生成一个列表,其中包含前10个整数的立方:
numbers = [number**3 for number in range(1, 11)]
print(numbers)
使用列表的一部分
Higher_Brothers = ['MaSiWei','DZKnow','Psy.P','Melo']
print(Higher_Brothers[0:2])
print(Higher_Brothers[1:3])
print(Higher_Brothers[:3])
print(Higher_Brothers[2:])
print(Higher_Brothers[-2:])
遍历切片
Higher_Brothers = ['MaSiWei','DZKnow','psy.P','melo']
for rapper in Higher_Brothers[2:]:
print(rapper.title())
复制列表:
Higher_Brothers = ['MaSiWei','DZKnow','Psy.P','Melo']
HB = Higher_Brothers[:]
print(HB)
明天见,晚安!