Python编程从入门到实践练习第四章:对列表进行操作

一、 创建数值列表

1.1 使用range创建数字列表

涉及方法

  • range():生成一系列数字
  • list():括号中的结果转换为列表
  • 次方运算:x**n代表x的n次方
  • max() min() sum():求最大、求最小、求和

使用实例

  1. 生成1-5的数字列表
numbers = list(range(1,6))
print(numbers)
  1. 生成1-10的奇数
num_odds= list(range(1,11,2))
print(num_odds)
  1. 生成1-10的平方数
num_sqr=[]
for num in range(1,11):
    num_sqr.append(num**2)
print(num_sqr)
  1. 求数字列表中的最大最小以及总和
digits = list(range(1,21))
print(max(digits),min(digits),sum(digits))

输出

在这里插入图片描述

1.2 列表解析

编写一行代码来完成列表的生成。

例:使用一行代码完成上面的平方数列表的构建:

squares = [value**2 for value in range(1,11)]
print(squares)

在这里插入图片描述

1.3 练习题

在这里插入图片描述
在这里插入图片描述

代码

#4-3
print("4-3")
for i in range(1,21):
    print(i,end=" ")

#4-4
# for i in range(1,1000001):
#     print(i,end=" ")

print("\n4-5")
nums = list(range(1,1000001))
print(max(nums),min(nums),sum(nums))

#4-6
print("4-6")
odds = [i for i in range(1,21,2)]
print(odds)

#4-7
print("4-7")
num_by_three = [i for i in range(3,31) if i % 3 == 0]
print(num_by_three)

#4-8
print("4-8")
list = []
for i in range(1,11):
    list.append(i**3)
print(list)

#4-9
print("4-9")
num_triple = [i**3 for i in range(1,11)]
print(num_triple)

输出

练习4-4输出太长,注释掉,不再进行输出
在这里插入图片描述

二、对列表部分元素进行操作

2.1 切片

使用实例

  1. 输出第一个到第四个元素
num = list(range(1,11))
print(num)
print(num[1:5])
  1. 不指定起始索引:默认从头开始
print(num[:4])
  1. 不指定结束索引:默认到最后
print(num[6:])
  1. 输出最后三个元素
print(num[-3:])

在这里插入图片描述

2.2 复制列表

同时省略起始和终止索引 [ : ]

num = list(range(1,11))
num1 = num[:]
print(num)
print(num1)
num.append(18)
print(num)
print(num1)

此时创建了num和num1两个列表,两个列表相互独立。
在这里插入图片描述

若使用变量名直接赋值的方法,则不会创建一个新列表,两个变量名都指向一个列表,对列表进行操作时不管使用哪个变量名,列表都会进行改变。

num = list(range(1,11))
num1 = num
print(num)
print(num1)
num.append(18)
print(num)
print(num1)

在这里插入图片描述

2.3 练习题

在这里插入图片描述

代码

#4-10
print("4-10")
num = list(range(1,21))
print(num)
print(num[:3])
print(num[int(len(num)/3):int(len(num)/3)+3])
print(num[-3:])

#4-11
print("4-11")
pizzas = ['a','b','c','d']
friend_pizzas = pizzas[:]
pizzas.append('ee')
friend_pizzas.append('ff')
for pizza in pizzas:
    print(f"My favorate pizza is {
      
      pizza}")
for friend_pizza in friend_pizzas:
    print(f"My friend's favorate pizza is {
      
      friend_pizza}")

输出

在这里插入图片描述

三、元组

3.1 元组介绍

不可修改的列表称之为元组
使用圆括号定义: tuple = (10,20)

  1. 元组中的变量值和元组的长度都不能改变。
  2. 使用for循环对元组中的值进行遍历。
  3. 若需要存储的一组值在程序的整个生命周期中都要保持不变,则可以使用元组。

3.2 练习题

在这里插入图片描述

代码

foods = ('noodles','soup','dumplings','hamburger','chips')
for food in foods:
    print(food)
print("\n")
    # error!!
#food[1]='rice'

foods = ('water','chicken','dumplings','hamburger','chips')
for food in foods:
    print(food)

输出

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45662399/article/details/132081025