Day 9 20190124 老男孩python学习第9天 内容整理

看视频一个小时,码代码2小时。

 

浮点数

 

浮点数是有理数,不包括无理数,平时科学计数法1.37*10^13,在计算机里面就用1.37E13表示,如1299=1.299e3,

 

复数

 

复数是指能写成a+bi的数,a和b为实数,i为虚数,在python里面用 (a+bj)表示,如(1+2j),可以用来做物理和量子力学等等,

 

浮点数的精确度问题:

 

python里只能储存17位的精度(即小数16位+1位整数),同时小数数目越多精确度可能越低,浮点数所占的空间是远大于整数的,

如 1.12345678901234567 就变成了1.1234567890123457(四舍五入),

如果想使用高精度的话,需要额外引入第三方模块

 

数据类型--列表

 

1.创建列表

names = list()

names = [] 

两种都是创建空列表方式,[]较为常用

names = ['jack', 'nick', 123, 123, 1, 1, 2, 2, 3, 3, 3e2, [1, 2, 3]]

列表内可以放各类数据类型,包括字符串,数字,列表,等等

列表内每个元素都有一个index(索引),索引从0开始,1,2,3,4... 一直接下去,调用索引为0的元素命令为

names[0] --> 会显示 jack

names[-5] --> 会显示倒数第5个元素,

如果要查找某个元素的索引,输入

names.index('jack') --> 返回结果为0,即索引为0是'jack',

如果列表内有两个相同元素,则默认只显示排名靠前的那个元素的索引号,如此处

names.index(2) -->返回为6,而实际上6和7都是2

 names[names.index(2)] --> 6

 

names.count('jack') --> 1

names.count(6) --> 2

 

 

切片:取列表中的第a到b个元素

names[0:3] --> ['jack', 'nick', 123],只取0,1,2这三个索引的元素,护头不护尾,实际取的是0-2的元素

names[-5:-1] --> 倒数第5个到倒数第2个

names[-5:] ,不写就是到底

names[:-5],不写就是从头开始

names[-1:-5] 或者names[2:1],都是返回空集合[]

 

names[0:7:n],就是取索引0-7中的0, 0+n, 0+2n... 0+an的数,n叫步长,这个动作叫切片

当然,names[0::2]也可以,从0开始到底,步长为2,即索引值为0, 2, 4, 6...到底的数都会被切片

 

增加:

names.append('peiqi'),在尾部增加'peiqi'

names.insert(6, 'peiqi'),在索引为6的位置插入'peiqi',插入后names[6] --> 'peiqi'

 

修改:

names[2] = 333,赋值就是修改

批量修改

names[2:5] = '333'

首先,批量修改的赋值只能为字符串,同时这一串里面的任意一个字符都会被分别拆开来填入其中,2-4(护头不护尾)这几个元素都会被抹除,然后将字符串里的3个‘3’、‘3’、‘3’填入其中,不够数就会导致列表元素的数量减少,多了就会导致元素数量增加,把后面的挤后面去,如果用names[8:],就会先把第9个元素以后所有元素抹除,然后插入赋值拆开的字符串,如果是names[8:7],就会在第9个元素抹除,然后插入

 

删除:

names.pop()  删除最后一个元素

names.remove('abc'),删除abc元素,如果有多个‘abc’,删除从左数起第一个,remove只能一个一个删

del names[2],删除索引为2的元素

del names[2:6],批量删除索引为2-5的元素

 

pop和remove都是names的后缀功能,因此必须定义names之后才能使用,pop删除后,返回被删除的值

del是全局性功能,可以直接 del names 来删除,可以删任意东西

 

循环:

names = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for i in names:

  print(‘loop‘,i)

把names里面的每一个元素都打印。

 

range(0, 10)等同于

for i in range(10):

  print(i)

 

range(10)就是生成一个0-9的列表

 

死循环:

while True:

 

while和for的区别:1. while可以是死循环,for是有边界的

 

排序:

names.sort(),将纯字母,或者纯数字的列表进行排序(可以加入特殊字符),混合的会报错,字母就从所有大写字母开始,然后再所有小写字母,都是A-Z排序,如果有“aA”和“bB”和“Aa”和“bC”之类的,先按第一个字母排序,第一个字母相同的,再按第二个字母排序,等等等等,特殊字符排在前面,因为都是按ASCII码表排序

 

倒过来:

names.reverse()

 

拼接:

names + name2

或者

names.extend(name2)

在names列表后面加上name2列表

 

清空:

names.clear()

names就变为空集合[]

 

复制:

names.copy()

 

n1 = names

names[2] = Alex

n1也改为了Alex

列表跟变量不同,n1列表指向的就是names列表,而不是names列表的值

 

但是如果

n1 = names.copy()

n1就独立于names了,复制了一份独立的列表,不与names相关了

 

# 请用代码实现: 利用下划线将列表的每一个元素拼接成字符串, li = ['alex', 'eric', 'rain']

# 查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。

li = ['alex', 'eric', 'rain']

# 计算列表长度并输出
print(len(li))

# 列表中追加元素"seven",并输出添加后的列表
li.append("seven")
print(li)

li = ['alex', 'eric', 'rain']
# 请在列表的第一个位置插入元素“Tony”,并输出添加后的列表
li.insert(0, 'Tony')
print(li)

# 请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
li[1] = "Kelly"
print(li)

# 请删除列表中的元素"eric",并输出修改后的列表
li.remove("eric")
print(li)

# 请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
ele_deleted = li.pop(1)
print(ele_deleted)
print(li)

# 请删除列表中的第3个元素,并输出删除元素后的列表
li = ['alex', 'eric', 'rain']
del li[2]
print(li)

# 请删除列表中的第2-4个元素,并输出删除元素后的列表
li.append("alex")
li.append("seven")
li.append("eric")
print(li)
del li[1:4]
print(li)

# 请将列表所有的元素反转,并输出反转后的列表
li = ['alex', 'eric', 'rain']
li.reverse()
print(li)

# 请使用for、len、range输出列表的索引
for i in range(len(li)):
print(i)

# 请使用enumerate输出列表元素和序号(序号从100开始)
for i, element in enumerate(li, start=100):
print(i, element)

# 请使用for循环输出列表的所有元素:
for i in range(len(li)):
print(li[i])

  

አդᎱਫሿғڥአӥښᕚਖ਼ڜᤒጱྯӞӻزᔰ೪ള౮ਁᒧԀ҅
li
Җ
['alex', 'eric', 'rain']

转载于:https://www.cnblogs.com/Jack1314/p/10312809.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,我们可以确定男孩python全栈26期课后作业中,包括了两个集合pythons和linuxs,分别记录了报名python课程和linux课程的学员名字。其中pythons集合包括了'alex','egon','yuanhao','wupeiqi'等学员的名字。和中的代码分析结果,我们可以得出以下结论:在一个函数内部定义的函数(内部函数)可以访问外部函数中的变量。在引用中的例子中,内部函数inner()可以访问外部函数func()中的变量name,并将其打印出来。结果是'name'为'景女神'。而在引用中的例子中,内部函数inner()也可以访问外部函数func()中的变量name,并将其打印出来。结果同样是'name'为'景女神'。同时,返回值v是调用外部函数func()返回的内部函数inner(),并且返回值result是调用v()的结果,也就是'男孩'。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [男孩Python全栈学习 S9 日常作业 001](https://blog.csdn.net/weixin_39893728/article/details/110982028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [男孩python全栈s21day12作业](https://blog.csdn.net/Bensonofljb/article/details/100058955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值