组织列表(包含循环)

循环——遍历整个列表

循环,让计算机自动完成重复工作的常见方式之一。

比如

magicians = ['alice', 'david', 'carolina']
#magician 作为与列表中的元素相关联的临时变量,
# 当然也可以是其他的变量名, 比如 i、j 等,不过这种变量不易被理解
for magician in magicians: #对于此处,只要列表中还有元素循环就不会终止
    print(magician) #此处也可以使用f字符串,.title(), .upper()等操作
    print(f"hello {magician}!")
    magician.upper() #注意此处只是对临时变量操作斌没有影响到列表中的元素 ,这个应该通过索引来,不过需要计数器
#for循环管到又缩进的最下一行
#像下面这一行就不会被循环
print("hello")
print(magicians) #这个会反映了第七行并没有影响到列表本身

在for循环后没有缩进的代码只执行一次,所以要注意好缩进,

当然也不能忘记for循环后面的冒号,如果没有就会语法错误运行不了

 

创建数值列表

使用range方法

for value in range(1, 5): #这里只会取到4,并不会取到5
    print(value)

如果使用range与预期不符合,尝试对范围进行加一或者减一

 

用range创建列表

numbers = list(range(1,5))
print(numbers)

#注意少了list 可能输出的是这样的
objects = range(1, 4)
print(objects)

#range 函数还可以指定步长
even_numbers = list(range(2, 11, 2)) # 从 2 开始数 步长为 2(也就是每次加 2 ), 数到 10
print(even_numbers)

#当然还可以与 for 循环配合 range
squares = [] # 创建空列表
for value in range(1, 4):  # 1 ~ 3
    value = value ** 2  # ** 表示平方
    squares.append(value)
    # 或者 使用 squares.append(values ** 2) 代替上面两行
print(squares)

 

对数据列表执行简单的统计运算

digits = [1, 100, -10, 2.2, 3, 1, 2]
print(min(digits))   # 求列表中的最小值
print(max(digits))   # 求最大值
print(sum(digits))   # 求列表中数的总和

 

列表解析——有点骚操作

squares = [value ** 2 for value in range(1, 5)] 
# 使用这种方式创建的列表就跟简洁, 4 行变 1 行

print(squares)

 

切片

切片操作

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[1: 4])  # 打印第二个到第4个元素
# 上面这种方式 需要有冒号

# 不指定起始点,默认从开头开始
print(players[:2])  # 前两位

# 同样也可以不指定结尾, 默认从结尾开始
print(players[1:])

print(players [:])
# 当然可以使用负值索引
print(players[: -2])
print(players[-3:])  # 打印最后三个运动员

 

遍历切片

 也就遍历部分列表

 

players = ['charles', 'martina', 'michael', 'florence', 'eli']

for player in players[ : 3]:
    print(player)

 

复制列表

其实就是是使用没有首索引和尾索引的切片,切记等号是行不通的

my_favorite_foods = ['pizza', 'cake', 'apple']
friend1_favorite_foods = my_favorite_foods[:]
print(my_favorite_foods)
print(friend1_favorite_foods)

friend2_favorite_foods = my_favorite_foods
print(friend2_favorite_foods)
# 上面这种方式虽然输出没什么变化, 但是其实就是用另一个变量指向同一个地址
#用下面这种方式就可以检验出来
my_favorite_foods.append("ice icream")
print(friend2_favorite_foods)

 

元组

定位元组

元组是不可变的列表,强行修改元组的元素会报错

用圆括号来标识,但仍然使用方括号和索引访问

dimensions = (50, 200)
print(dimensions[0])

 

严格意义上元组是通过逗号标识,并没有圆括号

dimensions = 50, 200
print(dimensions[0])

# 如果元组只有一个元素时, 就一定需要圆括号来标识
my_list = (3, )
print(my_list[0])

 

修改元组元素的报错提示

dimensions = (50, 200)
dimensions[1] = 0

 

修改元组变量(注意不是元组中的元素)

dimensions = (50, 200)
for dimension in dimensions:
    print(dimension)

print()

dimensions = (20, 90)
for dimension in dimensions:
    print(dimension)

posted @ 2022-03-23 22:06  我就一水  阅读(120)  评论(0)    收藏  举报