《Python从入门到实践》第四章

本文介绍了Python编程中的基本概念,如遍历列表、使用for语句和range()函数创建数值列表、列表推导式、切片操作以及元组的定义。同时强调了代码格式的规范性,包括缩进和字符限制。
摘要由CSDN通过智能技术生成

遍历整个列表

magicians=['Alan','sb','fuck']
for magician in magicians:
    print(magician)

使用循环时注意冒号和缩进,避免忘记缩进以及不必要的缩进

magicians=['Alan','sb','fuck']
for magician in magicians:
    print(f"{magician.title()} ,that was a great trick!")
    print(f"I can't wait to see your next trick,{magician.title()}\n")
print("fuck your ass")

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

创建数值列表:

①使用range()函数

for value in range(1,5):
    print(value)
    # 输出1,2,3,4
for value in range(6):
    print(value)
    # 输出0,1,2,3,4,5

②使用range()创建数值列表

可以使用list()函数将range()的结果直接转换为列表,如果将range()作为list()的参数,输出将是一个数值列表

numbers=list(range(6))
print(numbers)

在使用range()函数时,还可以指定步长,为此,可以给这个函数指定第三个参数,Python将根据这个步长来生成数。

for example:

even_numbers =list(range(2,11,2))
print(even_numbers)

使用range()函数几乎能够创建任意数值集合,例如创建一个列表,其中包含前10个整数(1~10)的平方。

squares=[]
for value in range(1,11):
    square=value**2
    squares.append(square)    # 也可以省略square,直接使用vlaue**2
print(squares)

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

min(列表名)   #得到列表中的最小值

max(列表名)   #得到列表中的最大值

sum(列表名)   #列表中所有值求和

列表推导式:

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

要使用这种语法,首先指定一个描述性的列表名,如squares,然后指定一个左方括号,并定义一个表达式,用于生成要存储到列表中的值,这上面的式子中,表达式为value**2,它计算平方值,接下来编写一个for循环,用于个以表达式提供值,再加上右方括号。

列表推导式可以大大减少代码量,提升工作效率。

练习4.5

values=[]
for value in range(1,1000001):
    values.append(value)
print("That's all.")
print(min(values))
print(max(values))
print(sum(values)

练习4.6

numbers=list(range(1,21,2))
print(numbers)
for number in numbers:
    print(number)

练习4.7

numbers=list(range(3,31,3))
print(numbers)
for number in numbers:
    print(number)

练习4.8

squares=[]
for value in range(1,11):
    squares.append(value**3)
print(squares)

练习4.9

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

列表的一部分:切片

要创建切片,要指定使用的第一个元素和最后一个元素的索引,与range()函数一样,Python在到达指定的第二个索引之前的元素时停止,要输出列表中的前三个元素,需要指定索引0和3,这将返回索引分别为0、1、2的元素

players=['charles','martina','florence','eli']
print(players[0:3])

输出的是:

['charles', 'martina', 'florence']

可以生成列表的任意子集,例如要提取列表的第二、第三、第四个元素,可将起始索引指定为1,并将终止索引指定为4

如果没有指定第一个索引,Python将从列表开头开始提取

players=['charles','martina','florence','eli']
print(players[:2])

如果没有指定第二个索引,将输出从特定位置到列表末尾所有元素

players=['charles','martina','florence','eli']
print(players[-4:])

遍历切片:

players=['charles','martina','florence','eli']
print("there are two guys in my team:")
for player in players[:2]:
    print(player)

复制列表,可以创建一个包括整个列表的切片([:]),不可以直接将原有的列表直接赋值给新列表(用于理解标签的好例子)

players=['charles','martina','florence','eli']
another_players=players
players.append('abc')
another_players.append('fuck')
print(players)
print(another_players)

上下这两组的输出结果是不同的,切片是直接对目标进行操作

players=['charles','martina','florence','eli']
another_players=players[:]
players.append('abc')
another_players.append('fuck')
print(players)
print(another_players)

练习4.10

players=['charles','martina','florence','eli','sdasdaw']
print(f"The first three items in the list are:{players[:3]}")
print(f"Three tiems frm the middle of the list are:{players[1:4]}")
print(f"The last three items in the list are:{players[-3:]}")

练习4.11

players=['charles','martina','florence','eli']
another_players=players[:]
players.append('abc')
another_players.append('fuck')
for player in players:
    print(player)
print("\n")
for another_player in another_players:
    print(another_player)

元组:

不可变的列表称为元组

元组看起来很像列表,但使用圆括号而不是方括号来标识,取其中元素时用的是方括号

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

元组是无法修改的,但是可以对元组进行重新赋值:

dimensions=(200,50)
print(dimensions[0])
print(dimensions[1])
for dimension in dimensions:
    print(dimension)

dimensions=(400,100)
for dimension in dimensions:
    print(dimension)

代码格式:

每级缩进四个空格,使用Tab键

建议每行不超过80个字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值