操作列表

具体内容如下:

 # 操作列表
# 使用for循环遍历整个列表。
# 使用for循环处理数据是一种对数据集执行整体操作的不错的方式。
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician) # 在for循环中执行更多操作。
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician.title() + ", that was a great trick!")
print("I can't wait to see your next trick, " + magician.title() + ".\n") # 在for循环结束后执行一些操作。
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician.title() + ", than was a great trick!")
print("I can't wait to see your next trick, " + magician.title() + ".\n") print("Thank you, everyone. That was a great magic show!") # 避免缩进错误
# Python根据缩进来判断代码行与前一个代码行的关系。
# 有时我们会忘记缩进,for语句后面属于循环组成部分的代码行如果忘记缩进Python将会报错。
# 如果忘记缩进额外的代码行可能不会报错,但是程序运行后的结果与预期不同,那这就是一个逻辑错误,Python代码是合法的,但是逻辑上出现错误,
# 结果就会不符合预期。
# 不必要的缩进也会造成错误。
# 循环后不必要的缩进可能会导致语法错误,但是大多数情况下只会导致逻辑错误。
# 遗漏冒号将会导致语法错误。 # 创建数字列表
# 使用函数range()能够轻松地生成一系列的数字。
# 使用range()时,如果输出不符合预期,请尝试指定的值加1或减1。
for value in range(1, 5): # 输出1 2 3 4,差一行为。
print(value) # 使用range()创建数字列表
# 要创建数字列表,可使用函数list()将range()的结果直接转换为列表。
numbers = list(range(1, 6))
print(numbers) # 使用range()时还可指定步长。从2开始,不断加2,一直到11结束.
even_numbers = list(range(2, 11, 2))
print(even_numbers) # 使用函数range()几乎能够创建任何需要的数字集,在Python中,两个星号(**)表示乘方运算。
# 如下:
squares = []
for value in range(1, 11): # 函数range()遍历1~10的值
square = value**2
squares.append(square) # 新计算得到的平方值附加到列表squares末尾 print(squares) # 循环结束后打印列表squares # 简洁一点可这样写,不使用临时变量square,直接将每个计算得到的值附加到列表末尾。
print("\n简洁写法输出:")
squares = []
for value in range(1, 11): # 函数range()遍历1~10的值
squares.append(value**2) # 计算每个值的平方,并立即将结果附加到列表squares的末尾 print(squares) # 循环结束打印列表squares # 对数字列表执行简单的统计计算。
# 函数min()找出数字列表最小值,函数max()找出数字列表最大值,函数sum()数字列表总和。
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print("列表" + str(digits) + "中:")
print("最小值:", min(digits))
print("最大值:", max(digits))
print("总和:", sum(digits)) # 列表解析
# 列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素 print("列表解析:")
squares = [value**2 for value in range(1, 11)] # 表达式value**2用于生成要存储到列表中的值(平方值)for循环用于给表达式提供值
print(squares) # 列表解析要多加练习,能够熟练地创建列表后就会发现这样做是完全值得的。
# 当你觉得编写三四行代码来生成列表有点复杂时,就应该考虑创建列表解析了。 # 使用列表的一部分
# 切片:处理列表的部分元素————Python称之为切片。
# 要创建切片,可指定要使用的第一个元素的索引和最后一个元素索引加1。
# 要输出列表中的前三个元素,需要指定索引0-3,这将输出分别为0、1和2的元素。 players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3]) # 切片,输出列表前三个元素 # 可以生成列表的任何子集,如要提取列表的第2~4个元素,可将起始索引指定为1,并将终止索引指定为4。
print(players[1:4]) # 切片,输出第2~4个元素 # 如果没有指定第一个索引,Python将自动从列表开头开始
print(players[:4]) # 切片,输出列表前四个元素 # 如果要提取从第3个元素到列表末尾的所有元素,可将起始索引指定为2,不指定终止索引。
print(players[2:]) # 负数索引返回离列表末尾相应距离的元素,因此可输出列表末尾的任何切片。
print(players[-3:]) # 切片,输出最后三个元素 # 遍历切片,可在for循环中使用切片。
players = ['charles', 'martina', 'michael', 'florence', 'eli'] print("他们是队伍中前三的队员:")
for player in players[:3]: # for循环遍历列表中的前三个元素
print(player.title()) # 逐个打印列表中的前三个元素 # 复制列表
# 有时我们需要根据既有列表创建全新的列表。
# 要复制列表,可创建一个包含整个列表的切片。
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:] print("我最喜欢的食物是:")
print(my_foods) print("\n我朋友最喜欢的食物是:")
print(friend_foods) # 确认是否为两个列表,用append()方法分别添加元素测试
my_foods.append('hamburger')
friend_foods.append('ice cream') print("我最喜欢的食物:")
print(my_foods) print("我朋友最喜欢的食物:")
print(friend_foods) # 如果我们简单地将my_foods赋给friend_foods,就不能得到两个列表。
print("\n直接将my_foods赋值给friend_foods就不能得到两个列表")
my_foods = ['pizza', 'falafel', 'carrot cake'] # 这样行不通
friend_foods = my_foods my_foods.append('hamburger')
friend_foods.append('ice cream') print("我最喜欢的食物:")
print(my_foods) print("我朋友最喜欢的食物:")
print(friend_foods) # 元组
print("\n元组:")
# Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
# 有时候我们需要创建一系列不可修改的元素,元组可以满足这种需求。
# 定义元组,元组看起来犹如列表,但使用圆括号而不是方括号来标识。
# 如果有一个大小不应改变的矩形,可将其长度和宽度存储在一个元组中,从而确保它们是不能修改的。
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1]) """
# 尝试修改元组中的一个元素,将会返回一个类型错误。
dimensions[0] = 250
""" # 遍历元组中的所有值。
print("\n遍历元组中的所有值:")
dimensions = (200, 50)
for dimension in dimensions:
print(dimension) # 修改元组变量
# 虽然不能修改元组的元素,但可以给存储的变量赋值。
# 给元组变量赋值是合法的。
dimensions = (200, 50)
print("\n原始元组:")
for dimension in dimensions:
print(dimension) dimensions = (400, 100)
print("修改变量后的元组:")
for dimension in dimensions:
print(dimension) # 相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。

二、继续学习(主要参考Python编程从入门到实践)的更多相关文章

  1. 字典的学习2——参考Python编程从入门到实践

    遍历字典 1. 遍历所有键值对 eg1: user_0 = { 'username': 'efermi', 'first': 'enrico', 'last': 'fermi',}for key, v ...

  2. 字典的学习1——参考Python编程从入门到实践

    字典:从汉语词意的角度理解,字典就是一个工具书,可以查找某个字.词.成语等的详细解释,字与解释相对应,而Python中字典则是一些列键和值相对应. Python中,字典放在花括号{键:值}中,eg: ...

  3. 函数的学习3——传递任意数量的实参&将函数存储在模块——参考Python编程从入门到实践

    传递任意数量的实参 形参前加一个 * ,Python会创建一个已形参为名的空元组,将所有收到的值都放到这个元组中: def make_pizza(*toppings): print("\nM ...

  4. 函数的学习2——返回值&传递列表——参考Python编程从入门到实践

    返回值 函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值.函数的返回值被称为返回值. 1. 简单的返回值 def get_formatted_name(first_name, l ...

  5. 函数的学习1——定义函数&传递实参——参考Python编程从入门到实践

    定义函数 def greet_user(): print("Hello") greet_user() # PEP8 函数和类的定义后空两行 1. 向函数传递参数 def greet ...

  6. 字典的学习3——嵌套——Python编程从入门到实践

    嵌套 ? 一系列字典存储在列表or列表作为值存储在字典or字典中套字典 1. 字典列表 alien_0 = {'color': 'green', 'points': 5} alien_1 = {'co ...

  7. 使用while循环来处理列表和字典——参考Python编程从入门到实践

    1. 在列表之间移动元素 unconfirmed_users = ['alice', 'brian', 'candace'] confirmed_users = [] # 验证每个用户,知道没有未验证 ...

  8. Python中的if语句——参考Python编程从入门到实践

    条件测试 1. 检查是否相等 一个等号表示赋值,两个等号用于判断等号左右两边是否相等,返回值为True或者False. 2. 检查是否相等是需考虑大小写 大小写不同的值视为不相等,例如继续写入代码:c ...

  9. 元组的简单介绍——参考Python编程从入门到实践

    元组 用于存储一系列不可修改的元素 1. 元组的定义 dimensions = (200, 50) # 定义一个元组,即将元素用圆括号括起来 print(dimensions[0]) # 打印元组中的 ...

随机推荐

  1. ceph问题

    问题1: [root@admin-node my-cluster]# ceph -s cluster 4ca35731-2ccf-47fb-9f06-41fae858626d health HEALT ...

  2. 一些可以查询IP地理位置、身份证所在地、手机归属地的接口

    查询IP http://ip.dnsexit.com/ 新浪的IP查询接口: 新浪的:http://counter.sina.com.cn/ip?ip=IP地址 返回Js数据,感觉不是很精确,可以把问 ...

  3. python 异常之进阶操作

    1.文件分析 下面来做一些文件分析操作,分析整本书的信息. 知识点: string.split():将字符串分解为列表. open(filename,‘rb’)或者open(filename,enco ...

  4. Python学习框架(持续更新)

    1.数据类型 整型:整数,1.2.3...这种 浮点型:简单理解就是小数,1.23.3.141572653等等 字符型:“这是字符”,简单说就是我们说的话,都可以作为字符 布尔值:只有2种,true. ...

  5. C语言实现matlab的interp2()函数

    项目要用到matlab中的Vq = interp2(X,Y,V,Xq,Yq)函数,即把一个已知经纬度和对应值的矩阵,插值变换到一个给定经纬度网格中,也就是对给定网格填值,需要用到插值,这里使用双线性内 ...

  6. [Effective Java 读书笔记] 第三章类和接口 第二十-二十一条

    第二十条 用函数对象表示策略 函数指针(JAVA的函数指针,是指使用对象的引用来作为参数,传递给另一个对象的方法)主要用来实现策略模式,为了在JAVA中实现这种模式,要申明一个接口来表示该策略,并为每 ...

  7. 从linux命令行分享文件:bashupload.com和transfer.sh

    背景 传输文件是一个常见的需求,简单的做法是通过即时通讯工具,邮件,网盘完成. 但当分享或接收的一端为远程服务器,只有命令行可以操作时,一个能支持在命令行完成分享和下载的工具,就会省下不少麻烦. 下面 ...

  8. php 页面分页样式 示例

    <?php class SubPages { private $each_disNums; //每页显示的条目数 private $nums; //总条目数 private $current_p ...

  9. pytorch之 optimizer comparison

    import torch import torch.utils.data as Data import torch.nn.functional as F import matplotlib.pyplo ...

  10. 兄弟连 企业shell笔试题 16-31

    企业实践题16:企业案例:写网络服务独立进程模式下rsync的系统启动脚本 例如:/etc/init.d/rsyncd{start|stop|restart} .要求:1.要使用系统函数库技巧.2.要 ...