第四章 操作列表
4.1 遍历整个列表
for 循环
colleagues = ['alice', 'mandy', 'angelo', 'belinda']
for colleague in colleagues: #冒号不能少,这里的colleague只是一个存储变量,与下一行的对应即可
print(colleague)
4.1.1 在for循环中执行操作
colleagues = ['ALICE', 'mandy', 'angelo', 'belinda']
for colleague in colleagues:
print('Hi ' + colleague.title() + ', good news for you!')
4.1.2 在for循环后执行操作
colleagues = ['alice', 'mandy', 'belinda', 'angelo']
for colleague in colleagues:
print('Hi ' + colleague.title() + ', Happy new year!') #四个空格表示在循环中执行
print("Let's face the challenge togethere in 2017!") #不缩进,表示执行完循环后操作
4.2 创建数值列表
4.2.1 range()
for value in range(1,6): #这里只会输出1-5,如果输出不符预期,请尝试将制定的值加1或减1
print(value)
for single_number in range(3,12,2): #这里的2表示步幅
print(single_number)
#使用range()创建任何需要的数字集
squares = []
for value in range(1,20):
square = value**2
squares.append(square)
print(squares)
#可以简化代码如下
squares = []
for value in range(1,8,2):
squares.append(2 * value + 1)
print(squares)
注意:首先考虑编写清晰易懂且能完成所需功能的代码;等待审核代码时,再考虑采用更高效的办法
4.2.2 list()创建数字列表
value = list(range(-3,8))
print(value)
4.3 列表解析
squares = [value**2 + 1 for value in range(2,8,3)]
print(squares)
current_users = ['damon', 'EDDY', 'Kobe', 'james', 'bill']
lower_users = [current_user.lower() for current_user in current_users] #这里是把列表中每个元素化为小写
print(lower_users)
4.3 使用列表的一部分
4.3.1 切片
colleagues = ['alice', 'belinda', 'song', 'xiao']
print(colleagues[0:2]) #x:y表示从第x+1个元素到第y个元素
特殊地,:y表示从第一个到第y个
x:表示从第x+1个开始到最后一个元素
-x:表示最后x个元素
4.3.2 遍历切片
colleagues = ['alice', 'belinda', 'song', 'xiao']
for colleague in colleagues[0:2]:
print(colleague)
4.3.3 复制列表
colleagues = ['alice', 'belinda', 'song', 'xiao']
mates = colleagues[:]
print(mates)
4.4 元组(dimension)
列表是可修改的;元组是不可变的列表
4.4.1 定义元组
languages = ('python', 'C', 'GoLang') #这里是圆括号,区别于列表的[]
print(languages[0])
print(languages[1])
4.4.2 遍历元组中的所有值
languages = ('python', 'C', 'GoLang')
print(languages[0])
for language in languages: #注意格式,其他和列表遍历一样,for循环
print(language)
4.4.3 修改元组变量
可以给存储元组的变量赋值
languages = ('python', 'C', 'GoLang')
for language in languages:
print(language)
languages = ('chinese', 'english', 'dutch')
for language in languages:
print(language)