遇见Python | Day 4 操作列表

目录

一、遍历列表

二、避免缩进错误

1、忘记缩进

2、忘记缩进额外的代码行、

3、不必要的缩进

4、循环后不必要的缩进

5、遗漏冒号

​三、创建数字列表

1、使用函数range()

3、对数字列表执行简单的统计计算

4、列表解析

 四、使用列表的一部分

1、切片

2、遍历切片

3、复制列表

新列表=原列表[:]

五、元组

1、定义元组

2、遍历

3、修改元组变量


一、遍历列表

        使用for循环即可实现列表的遍历。

fruits=['apple','banana','orange','grape']
for fruit in fruits:
    print(fruit)

        这样就可以实现列表的遍历:        当然,还可以有这样的操作:

fruits=['apple','banana','orange','grape']
for fruit in fruits:
    print('I have a '+fruit)

        在for循环中执行其他操作

        或者,这样:

fruits=['apple','banana','orange','grape']
for fruit in fruits:
    print('I have a '+fruit)
    print("What about you?\n")

二、避免缩进错误

        Python根据缩进进行判断代码行与前一个代码行的关系。

1、忘记缩进

fruits=['apple','banana','orange','grape']
for fruit in fruits:
print('I have a '+fruit)        #此处忘记缩进

        此时将会产生报错:

        正确的写法:

fruits=['apple','banana','orange','grape']
for fruit in fruits:
    print('I have a '+fruit)

2、忘记缩进额外的代码行、

        比如,我想要这样的结果:

        然而我的代码是这样的:

fruits=['apple','banana','orange','grape']
for fruit in fruits:
    print('I have a '+fruit)
print("What about you!\n")

        此时代码运行的结果是这样的:        

        这就是忽略缩进额外的代码行造成的,正确的写法:

fruits=['apple','banana','orange','grape']
for fruit in fruits:
    print('I have a '+fruit)
    print("What about you!\n")

3、不必要的缩进

        在Python中使用不必要的缩进也是不允许的。

print('Hello,Python!')
    print('Hello,world!')    #此处的缩进错误

        此时将会产生报错:

4、循环后不必要的缩进

        在循环结束后的下一行代码应该删除缩进,不然,代码的功能就还在循环中。

fruits=['apple','banana','orange','grape']
for fruit in fruits:
    print('I have a '+fruit)
    print("What about you!")

print('*************************************')
fruits=['apple','banana','orange','grape']
for fruit in fruits:
    print('I have a '+fruit)
print("What about you!\n")

        显然,如你所愿:

5、遗漏冒号

        for语句末尾的冒号告诉Python下一行是循环的第一行。

fruits=['apple','banana','orange','grape']
for fruit in fruits    #此处遗漏冒号
    print('I have a '+fruit)
    print("What about you!")

        果然报错了

三、创建数字列表

1、使用函数range()

        

for i in range(1,4):
    print(i)

        运行:

        显然,输出结果中只有1、2、3,没有4,这是怎么回事呢?原来函数range()从指定的以一个参数是开始,但是到达指定的第二个参数后就停止了。

2、使用range()函数创建数字列表

        range()函数可以传入三个参数,分别为开始,结束和步进。

numbers=list(range(1,11))    #1-10
print(numbers)

numbers=list(range(1,11,2))    #1-10的奇数
print(numbers)

#1-10的平方
new_numbers=[]
numbers=list(range(1,11))
for number in numbers:
    new_number=number**2
    new_numbers.append(new_number)

print(new_numbers)

        运行:

3、对数字列表执行简单的统计计算

numbers=list(range(1,11))
print(numbers)    #打印
print(min(numbers))    #打印最小值
print(max(numbers))    #打印最大值
print(sum(numbers))    #打印和

        运行:

4、列表解析

        列表名=[表达式 用于给表达式提供值得for循环]

        看个列子:

numbers=[number**3 for number in range(1,6)]
print(numbers)

        这段代码实现了对1、2、3、4、5求立方,将结果存在列表numbers里,最后打印numbers:

 四、使用列表的一部分

1、切片

列表名[开始索引:结束索引:步进]

        未指定开始索引,切片列表从头开始;未指定结束索引, 切片终止为列表末尾;未指定步进,默认为1;索引可以使用负索引。

numbers=list(range(1,11))
print(numbers)
print(numbers[2:4]) #索引位置2-4,不包括4
print(numbers[:5])  #索引位置开始-5,不包括5
print(numbers[5:])  #索引位置5-结束
print(numbers[-4:-1])   #索引位置倒数第四个到倒数第一个,不包括最后一个
print(numbers[3:10:3])  #索引3,6,9

        运行:

2、遍历切片

        使用for循环可以遍历切片。

numbers=list(range(1,11))
#print(numbers[3:10:3])  #索引3,6,9
for i in numbers[3:10:3]:
    print(i)

        运行:

3、复制列表

新列表=原列表[:]

numbers=list(range(1,11))
print(numbers)
new_numbers=numbers[:]
print(new_numbers)

        复制成功:

五、元组

1、定义元组

        元组很想列表,只不过元组使用()来标识,而列表使用[]来标识。

        列表是可以修改的,但是元组不可以。

numbers=(1,2,3)
print(numbers)

         运行:

        尝试修改元组:

numbers=(1,2,3)
numbers[0]=10
print(numbers)

        此时产生报错:

2、遍历

        使用for循环即可实现。

numbers=(1,2,3)
for i in numbers:
    print(i)

        运行:

3、修改元组变量

        虽然不能修改元组的元素,但是可以给存储元组的变量赋值。 

numbers=(1,2,3)
print(numbers)
numbers=(4,5,6)
print(numbers)
numbers=(1,2,3,4,5,6)
print(numbers)

        运行:

文章如有错误,请你不吝指教!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bjfu_yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值