ParisGabriel

感谢 大家的支持  你们的阅读评价就是我最好的更新动力  我会坚持吧排版做的越来越好

每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死粉也阔以

Python人工智能从入门到精通

列表创建函数:

list(可迭代对象)

序列有5种:

star 字符串

list 列表

tuple 元组

bytes   后面讲

bytearray  后面讲

序列运算符:

in 、 not in

>

>=

<

<=

+

*

列表的索引可以增加、删除、修改、列表的元素值

切片赋值:

步长不等于1时切片赋值,赋值运算符的右侧的可迭代对象提供的元素

的个数一定要等于切片切出的片数

del语句:

用于删除列表的元素

del 列表 [索引]

del 列表 [切片]

Python3中常用的序列相关函数:

len(x) 返回序列的长度

max (x) 返回最大元素

min(x)返回序列最小元素

sum(x) 返回序列中所有原素的和

any(x)真值测试,如果列表中有一个值为真返回true

all(x) 真值测试,如果列表中所有值为真返回true

列表的方法(method):

help(list)

[ ]内的参数代表可以省略

方法                       意义

L.index(v [, begin[, end]])        返回对应元素的索引下标, begin:为开始索引,end:为结束索引,当 value 不存在时触发ValueError错误

L.insert(index, obj)         将某个元素插放到列表中指定的位置 index:索引 obj:要插入的元素

L.count(x)             返回列表中元素的个数x:元素

L.remove(x)            从列表中删除第一次出现在列表中的值 x:元素(例如列表内有2个3 删除第一个 依次进行)

L.copy()                复制此列表(只复制一层,不会复制深层对象)

L.append(x)               向列表中追加单个元素 可以追加可迭代对象元素

L.extend(list)              向列表追加另一个列表

L.clear()                清空列表,等同于 L[:] = []

L.sort(reverse=False)         将列表中的元素进行排序,默认顺序按值的小到大的顺序排列

L.reverse()               列表的反转,用来改变原列表的先后顺序

L.pop([index])           删除索引对应的元素,如果不加索引,默认删除最后元素,同时返回删除元素的引用关系(相当于取出元素不归还,可以用变量来接受)

字符串的文本解析方法:

S.split(sep=None)     将字符串使用sep作为分隔符分割字符串,返回分隔后的字符串列表,当不给定参数时,用空白字符作为分隔符分隔

S.join(iterable)      用可迭代对象中的字符串,返回一个中间用S分隔组合的字符串 S=esp 要插入分割链接的字符 iterable:可迭代对象

潜拷贝和深拷贝:

潜拷贝shallow copy:

help(list.copy)

拷贝指在复制过程中,只复制一层变量,不会复制深成变量绑定的对象的复制过程

例如:

>>> L = [3.1,3.2]>>> L1 = [1, 2, L]>>> L2 =L1.copy()>>>L1

[1, 2, [3.1, 3.2]]>>>L2

[1, 2, [3.1, 3.2]]>>> L2[2][0] = 3.14

>>>L1

[1, 2, [3.14, 3.2]]>>>L2

[1, 2, [3.14, 3.2]]

深拷贝 deep copy:

import copy # 导入copy 模块

例如:

L = [3.1, 3.2]

L1 = [1, 2, L]

L2 = L1.deep copy()

L2[2][0] = 3.14

print(L1) #[1, 2, [3.1, 3.2]]

print(L2) #1, 2, [3.14, 3.2]]

深拷贝通常只对可变对象进行复制 ,不可变对象通常不会复制(这里深拷贝需要 import copy中的deepcopy  后面讲)

小结:

L1 = [1, 2, [3.1, 3.2]]

这里只是纯粹的调用关系  可以通过内存地址查看

L2 = L1          # 不拷贝 同时绑定一个对象

L3 = L1.copy()    # 潜拷贝等同于 L3 = L1[:]

import copy

L4 = copy.deepcopy(L1) #深拷贝

列表推导式 list comprehension:

列表推导式是用可迭代对象生成列表的表达式

语法:

[表达式 for 变量 in 可迭代对象]

[表达式 for 变量 in 可迭代对象 if 真值表达式]

说明:

for in 表达式的 if 子句可以省略,省略后将对所有生成的对象进行求值处理

如:生成1~9的平方的列表

L= [x ** 2 for x in range(1,10)]

列表推到式的嵌套:

语法:

L=[表达式

for 变量1 in 可迭代对象1 if 真值表达式1

for 变量2 in 可迭代对象2 if 真值表达式2 ]

OK 今天的练习比较多 但是都很简单  争取把每个题都要理解他的原理 不懂得对照上面的参数进行核对一下就可以

想要入门IT就必须多写多练 写的代码也多 你就越熟练  越熟练经验越多  尝试不同的思路去分析

什么时候写的想吐 什么时候才算会了  我们一起加油

练习:

1.

已知有列表:

L = [3, 5]

1) 用索引和切片等操作,将原列表改变为:

L = [1, 2, 3, 4, 5, 6]

2) 将列表反转,删除最后一个元素后打印此列表

...

print(L) # [6, 5, 4, 3, 2]

答案:

L = [3, 5]

L[:]= range(1, 7)

L[::-1] = range(1, 7)#L[:] = [range(6, 0, -1)]

del L[-1]print(L)

2.

1. 写程序,让用户输入一些整数,当输入-1时结束输入,将这些数存于列表L中

1) 打印用户共输入了几个数?

2) 打印您输入的数的最大数是多少

3) 打印您输入的数的最小数是多少

4) 打印您输入的这些数的平均值是多少?

答案:

L =[]whileTrue:

a= int(input("please input at will integer (input '-1' over):"))if a <0:breakL.append(a)

L.sort()print("you input line number", len(L))print("top1:", L[-1])print("lower1:", L[0])print("average number :", sum(L) / len(L))

3.

1.已知有一个字符串

s = “100, 200, 300, 500, 800”

将其转换为整数的列表存于L列表中

答案:

s = "100,200,300,500,800"L= s.split(",")print(L)

2.生成前40个婓波那契数(fibonacci)

1 1 2 3 5 8 13 .....

要求将这些数字保存在列表中

打印这些数

答案:

L = [1, 1]

a= 1b= 1

whileTrue:

a+=b

b+=a

L+=[a, b]if len(L) > 38:break

print(L)

方法二

L= [1, 1]

a= 1b=0

i=0while i < 40:

a= a +b

b= a -b

L.append(b)

i+= 1

print(L)

4.

L= [1, 3, 2, 1, 6, 4, 2, ......98, 82]

将列表中出现的重复数字存入另一个列表L2中

要求:重复出现多次的数字在L2中只保留一份 (去重)

答案:

L =[]whileTrue:

a= int(input("please input at will integer (input '-1' over):"))if a <0:breakL.append(a)

L2=[]for x inL:if x not inL2:

L2.append(x)print(L)print(L2)

5.

输入多行文字,存入列表中,

每次输入回车后算一行

任意输入多行,当输入回车(即输入空行时结束输入)

1) 按原输入内容在屏幕上输出内容

2) 打印出您共输入了多少行文字

3) 打印出您共输入了多少个字符

答案;

L =[]

i=0whileTrue:

a= input("please input at will string direct Enter over:")if a == "":breaki+=len(a)

L.append(a)for x inL:print(x)print("您共输入的行数:", len(L))print("您共输入的字符:", i)

6.

1. 有字符串"hello"

请用此字符串生成:

'h e l l o' 和 'h-e-l-l-o'

2. 写一个程序,让用户输入很多正整数,当输入小于零的数时结束输入,

1) 打印这些数中最大的一个数

2) 打印这些数中第二大的一个数

3) 删除最小的一个数

4) 打印剩余数的和

答案:

s = "heool"L= " ".join(s)print(L)

L= "-".join(s)print(L)

7.

用列表推导式生成1~100内奇数的列表

结果是: [1, 3, 5, 7, ..... 99]

答案:

L = [x for x in range(1, 100, 2)]print(L)

L = [x for x in range(1, 100) if x % 2 !=0]print(L)

8.

生成一个数值为 1 ~ 9的平方的列表,去掉所有的奇数的平方

答案:

L = [x**2 for x in range(2, 10, 2)]print(L)

L = [x**2 for x in range(2, 10) if x % 2 ==0]print(L)

Python人工智能从入门到精通

加油!

python全栈工程师百科_Python全栈工程师(列表、拷贝)相关推荐

  1. python全栈测试开发_python全栈的基础知识

    python全栈是什么意思 即从前端页面的实现,到后台代码的编写,再到数据库的管理,一人可以搞定一个公司网站的所有事情,真正实现全栈开发. 全栈只是个概念,也分很多种类真正的全栈工程师涵盖了web开发 ...

  2. python三元表达式求值_python 三元表达式的 列表推导式 生成器推导式

    python中三元表达式的语法如下 ===if else result = x if condition else y 另外一种三元表达式,比较少见 result = (x, y)[condition ...

  3. python全栈工程师薪水_python全栈+爬虫+自动化+AI=python全能工程师-挑战年薪30W+

    如果你想选择一种语言来入门编程,那么Python绝对是首选! Python非常接近自然语言,精简了很多不必要的分号和括号,非常容易阅读理解.编程简单直接,更适合初学编程者,让其专注于编程逻辑,而不是困 ...

  4. python全栈是什么_Python全栈数据工程师养成攻略 PDF 下载

    相关截图: 图书简介: 本书首先介绍了数据工程和Python语法,随后讲解如何获取和存储数据,并实现简单的静态可视化.文本作为一种极其重要的数据类型,也单独列出一章行讨论.之后读者将学习到关于Web建 ...

  5. python全栈攻略_python全栈知识点总结

    全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 ...

  6. python全栈开发优势_Python全栈开发多少钱?学Python价格贵吗?

    Python全栈开发培训多少钱?学习Python是大家进入编程世界的理想之选,而且Python也是一门非常受欢迎的编程,可以从事的领域有很多. 从目前市场上的行情来说,一般情况下Python培训的费用 ...

  7. python全栈开发下载_python全栈开发神器 - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...

    将安卓手机打造成你的python全栈开发利器 超神利器- 相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具,但因为一次简单的爬虫让我对它失望之极.Q ...

  8. python三剑客是什么意思_python 全栈 day09 三剑客

    Day 09 复习 知识点回顾: 1.用户分类 管理员 rootUID: 0 虚拟用户 傀儡用户 不允许登录 没有家目录 用来启动程序UID: 1-999 普通用户 自己创建 可以登录 有家目录 UI ...

  9. python全栈开发内容_Python全栈开发之Day02

    一. 回顾上节主要内容 1. python是一门解释型弱类型高级语言 2. python的解释器 CPython, PyPy, JPython, IronPython, Ipython 3. prin ...

最新文章

  1. 使用hello word写小说
  2. cmake ubuntu安装卸载升级
  3. JavaScript通过style只能获取内联 状态的样式
  4. C#编写CPU压力测试程序
  5. python识图训练_使用tensorflow训练模式识别图片中的对象(object-detection)
  6. BTA | 厉晹Roy Li:浅谈区块链技术在企业级应用中的实践
  7. 读书笔记:《置身事内》
  8. spring 集成MongoDB错误Interrupted acquiring a permit to retrieve an item from the pool
  9. arm shell 获取本地键盘输入值_arm Linux 如何自动检测并mount SD卡,以及如何得知已经mount...
  10. 宝剑配英雄,玫瑰赠伊人!(祝全天下静姝妇女节快乐!)
  11. 安装rpm 树莓派4_树莓派3上安装使用centos 7.4
  12. 判断TTS语音朗读是否结束
  13. STM32F4 FPU和DSP库使用
  14. Android高级工程师技能知识储备,android实战项目源码
  15. unittest pycharm test framework quit unexpectedly 解决 Empty suite问题
  16. css-07--1. HTML5 的新特性2. CSS 3 的新特性
  17. matlab坐标封闭,已知离散点坐标,拟合成封闭曲面
  18. 通过u盘启动计算机使用ghost安装系统步骤,u盘装系统ghost win7系统教程_电脑U盘启动怎样手动安装ghostwin7...
  19. cuda官网打不开,下载速度慢
  20. 关于一个进程结束另外一个带有NotifyIcon托盘的进程残留图标问题解决方法

热门文章

  1. js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?
  2. COGS-930-找第k小的数-HNOI2012-主席树
  3. [codevs 1343] 蚱蜢(省队选拔赛湖南)
  4. poj1743(后缀数组:最长不可重叠子串长度)
  5. fastreport调用frf文件直接打印_来吧~~ 这里提供自助打印~
  6. html弹出div提示自动关闭,html弹出div弹窗
  7. python apktool_【转】利用apktool反编译apk,并且重新签名打包
  8. python小结教学_python教学
  9. javaweb-服务器输出字符数据到浏览器
  10. 最全的 eclipse web 项目目录结构