python_day05(笔记及练习)
"""列表内存图
"""
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 ...
- 【运维学习笔记】生命不息,搞事开始。。。
001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...
- SSAN 关系抽取 论文笔记
20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...
- pandas以前笔记
# -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...
- PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 王道考研 计算机网络笔记 第六章:应用层
本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...
- 王道考研 计算机网络笔记 第五章:传输层
本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...
最新文章
- create-react-app my-app 报错解决方法
- 如何在Azure machine learning中使用异常检测
- 是程序员,就用python导出pdf
- 12款界面精美的 HTML5 CSS3 网站模板
- 各种软件的含义和特点
- html导航栏文字怎么平均,对齐HTML/CSS导航栏中的文本?
- SSIS变量属性中EvaluateAsExpression设置的作用
- grafana的+按钮_基于 Prometheus、Grafana 的 EMQ X 物联网 MQTT 服务器可视化运维监控...
- linux 实现共享内存同步
- 黄章“官宣”魅族17系列:骁龙865加持 不止一个版本
- 白话CSS3的新特性
- 刺激战场测试fps软件,绝地求生刺激战场通过GLTools实时显示游戏帧数方法
- Go语言web开发学习
- 微信小程序加载闪屏,黑白屏,闪退问题
- 基于STM32F1实现秒表及万年历功能【寄存器版】
- 微信小程序实现分页加载,触底加载下一页,滚动加载
- Leetcode Proble 汇总四
- 微软2012年4月最有价值专家(MVP)名单 51CTO十四位用户当选
- Ten Googol
- 认识计算机硬件教案免费,认识计算机硬件(教案)
热门文章
- 用JAVA编写简单呼叫器餐厅,使用Java编写Palm OS程序的解决方案1
- Vue的Excel文件下载
- 2023.4.6.吉林长春.雾霾.
- 具有单变量输入的CNN-LSTM编解码器模型
- 深入了解基于RTMP数据传输协议的实时流媒体技术(图解过程)一看就会【建议新手收藏】
- 远程计算机如果关机咋办,远程关机的详细步骤有哪些?向日葵怎么远程关机?...
- php学生选课系统mysql
- linux用iso文件启动,直接从硬盘启动Linux ISO镜像
- Cocos Creator开发游戏消灭星星——星星生成
- POJ 3627 Bookshelf