遍历整个列表(循环)
for循环
把名字循环打印出来
把列表赋值给变量name 把name中的每个元素赋值给变量a 循环打印a。
主要for循环后的冒号不要丢了,否则会报错。
name=['张三','李四','王五','赵六','钱七']
for a in name:
print(a)
在循环变量命名是可以用复数和单数的形式如:
打印猫咪的名字
for cat in cats:
print(cat)
练习:打印我是…
name=['张三','李四','王五','赵六','钱七']
for a in name:
print(f"My name is {a}\n")
name=['张三','李四','王五','赵六','钱七']
for a in name:
print(f"My name is {a}")
print("Nice to meet you!")
print("I want to make frineds with you ")
注意:从循环结果上看,只有缩进的才会循环打印,这是语法格式,在循环中,缩进的都是循环体内的,如果循环中打印没有缩进会报错。在循环打印结束后,不缩进就代表循环结束了,只打印一遍。如果不是循环体里,只是要打印不用缩进否则会报错。
创建数值列表
函数range:
range(开始 ,结束,步长)
for循环加range来创建1-5
#for加range创建1-5
for a in range(1,6):
print(a)
print("\n")
for a in range(6):
print(a)
通过结果我们可以看到,步长不写默认为1,其实值不写默认从0开始,而结束值是不包括在内的,
如上面我们打印到5,结束值是6,打印出来不包括结束值。
现在使用range()创建数字列表,这里需要用到list()
创建一个0-5的列表:
#创建数字列表
numbers=list(range(6))
print(numbers)
创建一个到10偶数列表
#创建一个到10的偶数列表
numbers=list(range(2,11,2))
print(numbers)
创建一个1-10的平方书的的列表
#创建一个1-10的平方数的列表
numbers=[]
for number in range(1,11):
value=number**2
numbers.append(value)
print(numbers)
#我们还可以不赋值变量直接添加计算
numbers=[]
for number in range(1,11):
numbers.append(number**2)
print(numbers)
用list也可以创建字符列表
a=list(['adh','sad'])
print(a)
对数字列表进行简单的统计计算
#简单统计计算
numbers=[1,2,5,6,7,9,4,5]
print(min(numbers))#最小值
print(max(numbers))#最大值
print(sum(numbers))#求和
列表解析
打印1-10 的平方数
#列表解析
#打印1-10的平方数
numbers=[value**2 for value in range(1,11)]
print(numbers)
使用列表的一部分
处理列表的部分元素,称为切片
切片
切片要指定索引位置,名字列表name[起始位置:结束位置:步长]
name=['张三','李四','王五','赵六','钱七']
#打印2,3,4位置的元素
print(name[1:4])
#不指定起始位置,会从第一个开始打印
print(name[:4])
#不指定结束位置,会打印到最后
print(name[2:])
#还可以用起始位置是负数,打印列表末尾的元素
print(name[-2:])
#结束位置是负数。打印到倒数第几个元素,不包括
print(name[:-2])
#利用步长每隔一个打印
print(name[0:8:2])
遍历切片
#遍历切片
name=['张三','李四','王五','赵六','钱七']
print('Here are my friends!')
for a in name[1:4]:
print(a)
复制列表
#复制列表
my_foods=['pizza','beef','noodles','chicken',]
jakc_foods=my_foods[:]
print(my_foods)
print(jakc_foods)
给两个人的食物添加新的食物,两个人的新食物要不同。
#复制列表
my_foods=['pizza','beef','noodles','chicken',]
jakc_foods=my_foods[:]
print(my_foods)
print(jakc_foods)
my_foods.append('ice cream')
jakc_foods.append('milk')
print(my_foods)
print(jakc_foods)
有人可能会想到直接赋值如下图:
但是我们发现,直接赋值复制,添加不同的元素后,两个变量新添加的元素都是最后添加的元素,说明不是复制,而是直接赋值。
元组
列表存储程序运行期间可变的数据集。有时需要不可变的元素,所以Python中不可修改的值称为不可变的,而不可变得列表称为元组。
定义元组用圆括号,可以用索引来访问元组。
创建一个元组:
#创建元组
numbers=(200,50,40,30)
print(numbers)
#元组也可以像列表一样切片访问
print(numbers[1])
print(numbers[:3])
print(numbers[1:4:2])
元组的修改是被禁止的,索引我们用函数对元组进行修改如,增加,删除,插入时会报错。如果想修改元组的变量,可以直接修改。
numbers=(200,50,40,30)
print(numbers)
numbers=(10,50,40,30,20)
print(numbers)
注意:严格的讲,元组是由逗号进行标识的,圆括号只是让元组看起来更清晰整洁,若要之定义一个元素的元组需要加逗号,创建一个元素的元组一般没意义,但自动生成的元组可能只有一个元素。
像这样:
元组是更简单的数据结构,如果需要存储一组值在程序生命周期内都不变可以用元组。