"""列表内存图
"""
list01 = ["张无忌","赵敏"]
list01.append("小昭")
list01.insert(1,"周芷若")
list01.remove("赵敏")

深拷贝和浅拷贝
浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程。
深拷贝:复制整个依懒的变量。

"""深拷贝优点:对其中之一的修改,绝对不影响另外一个.缺点:比较占用内存
"""
# 准备深拷贝的工具
import copylist01 = [[1,2,3],[4,5,6]
]
# list02 =list01[:]
# 深拷贝列表
list02 = copy.deepcopy(list01)
list01[0] = "一"
list01[1][0] = "二"
print(list02)#
"""list01 = [4,5,65,76,7,8]在列表中找出最大值算法:假设第一个是最大值如果第二个大于假设的,则替换假设的.如果第三个大于假设的,则替换假设的.如果第四个大于假设的,则替换假设的.最后输出假设的(最大的)
"""
list01 = [4, 5, 65, 76, 7, 8]
max_value = list01[0]for i in range(1, len(list01)):if max_value < list01[i]:max_value = list01[i]
print(max_value)
# for item in list01:
#     if max_value < item:
#         max_value = item

列表VS字符串
1. 列表和字符串都是序列,元素之间有先后顺序关系。
2. 字符串是不可变的序列,列表是可变的序列。
3. 字符串中每个元素只能存储字符,而列表可以存储任意类型。
4. 列表和字符串都是可迭代对象。
5. 函数:
将多个字符串拼接为一个。
result = “连接符”.join(列表)

"""str --> list练习:exercise08
"""line = "孙悟空-八戒-唐三藏"
list_person = line.split("-")
print(list_person)

将一个字符串拆分为多个。
列表 = “a-b-c-d”.split(“分隔符”)
列表推导式
1. 定义:
使用简易方法,将可迭代对象转换为列表。
2. 语法:
变量 = [表达式 for 变量 in 可迭代对象]
变量 = [表达式 for 变量 in 可迭代对象 if 条件]
3. 说明:
如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃。

"""列表推导式根据一个可迭代对象,构建另外一个列表。练习:exercise09
"""
# 需求1:将list01中每个元素增加10之后,存入list02
list01 = [34, 45, 54, 65, 67, 87]
# list02 = []
# for item in list01:
#     list02.append(item + 10)
list02 = [item + 10 for item in list01]print(list02)# 需求2:将list01中所有偶数增加10之后,存入list02
# list02 = []
# for item in list01:
#     if item % 2 == 0:
#         list02.append(item + 10)
list02 = [item + 10 for item in list01 if item % 2 == 0]
"""list --> str练习:exercise07
"""
# 根据某些逻辑,拼接字符串.
list01 = ["3", "4", "5", "7"]
# str_result = ""
# for item in list01:
#     # 每次循环,每次拼接,每次创建新对象
#     str_result = str_result + item
# print(str_result)
str_result = "——".join(list01)
print(str_result)

身份运算符:

"""身份运算符
"""
list01 = [100]
list02 = [100]# 两个变量指向的对象是否同一个
print(list01 is list02)# Falselist03 = list01
print(list03 is list01)# True# 原理:判断变量存储的地址是否相同
print(id(list01))# 140235347048584
print(id(list02))# 140235357765192
print(id(list03))# 140235347048584

“”"
在终端中循环录入学生成绩,如果录入空,则停止。
打印最高分、最低分、平均分.
体会:容器
“”"
list_scores = []
while True:
str_score = input(“请输入成绩:”)
if str_score == “”:
break
list_scores.append(int(str_score))

print(“最高分:%d” % max(list_scores))
print(“最低分:%d” % min(list_scores))
print(“平均分:%f” % (sum(list_scores) / len(list_scores)))

"""在终端中循环录入学生姓名,如果录入空,则停止.倒序输出所有人。要求:姓名不能重复(如果重复提示,不存储.)
"""
list_names = []
while True:name = input("请输入姓名:")if name == "":breakif name not in list_names:list_names.append(name)else:print(name + "已经存在")for i in range(len(list_names) - 1, -1, -1):print(list_names[i])
"""list01 = [54,5,65,67,78,8]删除列表中所有奇数三板斧:内存图  调试15:25
"""list01 = [54, 5, 65, 67, 78, 8]
# for item in list01:
#     if item % 2:
#         list01.remove(item)# 结论:在列表中删除多个元素,倒序删除。
for i in range(len(list01)-1,-1,-1):if list01[i] % 2:del list01[i]print(list01)
"""斐波那契数列:从第三项开始,每一项都等于前两项之和.1,1,2,3,5,8,....获取一个斐波那契数列长度,打印列表.
"""
lenght = int(input("请输入斐波那契数列长度:"))
# 6
list_sequence = [1,1]
# 0
# 1
# 2 -->  2-2  2-1
# 3 -->  3-2  3-1
# ? -->  ?-2  ?-1# for i in range(2,lenght):# 2 3 4 5
#     element = list_sequence[i-2] +  list_sequence[i-1]
#     list_sequence.append(element)for __ in range(lenght - 2):# 当前元素 = 最后两个元素之和element = list_sequence[-2] +  list_sequence[-1]list_sequence.append(element)
print(list_sequence)
# 在终端中循环录入字符串,如果录入为空,则停止.
# 打印所有录入的内容(一个字符串)# 核心思想:使用可变对象代替不可变对象,进行频繁操作.
list_result = []
while True:content = input("请输入内容:")if content == "":breaklist_result.append(content)str_result =  "".join(list_result)
print(str_result)
"""将英文语句进行反转How are you   -->  you are How
"""
message = "How are you"
list_temp = message.split(" ")
str_result = " ".join(list_temp[::-1])
print(str_result)
# 练习1:使用列表推导式生成1--50之间能被3或者5整除的数字
list01 = [item for item in range(1, 51) if item % 3 == 0 or item % 5 == 0]
print(list01)# 练习2:使用列表推导式生成5--60之间数字的平方
list02 = [item ** 2 for item in range(5, 61)]
print(list02)# 练习3:将1970年到2050年之间的闰年存入列表
list03 = []
for year in range(1970, 2051):if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:list03.append(year)
# list03 = [year for year in range(1970,2051) if year % 4 ==0 and year % 100 !=0 or year % 400 == 0 ]
print(list03)

python_day05(笔记及练习)相关推荐

  1. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  2. 【运维学习笔记】生命不息,搞事开始。。。

    001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...

  3. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

  4. pandas以前笔记

    # -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...

  5. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  6. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  8. 王道考研 计算机网络笔记 第六章:应用层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  9. 王道考研 计算机网络笔记 第五章:传输层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

最新文章

  1. create-react-app my-app 报错解决方法
  2. 如何在Azure machine learning中使用异常检测
  3. 是程序员,就用python导出pdf
  4. 12款界面精美的 HTML5 CSS3 网站模板
  5. 各种软件的含义和特点
  6. html导航栏文字怎么平均,对齐HTML/CSS导航栏中的文本?
  7. SSIS变量属性中EvaluateAsExpression设置的作用
  8. grafana的+按钮_基于 Prometheus、Grafana 的 EMQ X 物联网 MQTT 服务器可视化运维监控...
  9. linux 实现共享内存同步
  10. 黄章“官宣”魅族17系列:骁龙865加持 不止一个版本
  11. 白话CSS3的新特性
  12. 刺激战场测试fps软件,绝地求生刺激战场通过GLTools实时显示游戏帧数方法
  13. Go语言web开发学习
  14. 微信小程序加载闪屏,黑白屏,闪退问题
  15. 基于STM32F1实现秒表及万年历功能【寄存器版】
  16. 微信小程序实现分页加载,触底加载下一页,滚动加载
  17. Leetcode Proble 汇总四
  18. 微软2012年4月最有价值专家(MVP)名单 51CTO十四位用户当选
  19. Ten Googol
  20. 认识计算机硬件教案免费,认识计算机硬件(教案)

热门文章

  1. 用JAVA编写简单呼叫器餐厅,使用Java编写Palm OS程序的解决方案1
  2. Vue的Excel文件下载
  3. 2023.4.6.吉林长春.雾霾.
  4. 具有单变量输入的CNN-LSTM编解码器模型
  5. 深入了解基于RTMP数据传输协议的实时流媒体技术(图解过程)一看就会【建议新手收藏】
  6. 远程计算机如果关机咋办,远程关机的详细步骤有哪些?向日葵怎么远程关机?...
  7. php学生选课系统mysql
  8. linux用iso文件启动,直接从硬盘启动Linux ISO镜像
  9. Cocos Creator开发游戏消灭星星——星星生成
  10. POJ 3627 Bookshelf