li=[1,2,33,-1,'dbssd',[4,5,6],{4:'rfw',5:'re'}]
del(li[1])
print(li)
print(type(li))
#访问元素
print(li[0])
print(li[-2])
print(li[-1])
#查找元素的位置
i=0
for teli in li:
if teli == 33:
print('元素中找到了%s' %i)
i+=1
print(li.index(33))
#从数组中找到两个数等于目标数的值
print('-------------------------------')
def two_sum(numbers,target):
#range 表示从0开始
for i in range(len(numbers)-1):
for j in range(i+1,len(numbers)):
if numbers[i] + numbers[j] == target:
return i,j
return -1,-1
#默认返回tuple
print(two_sum([2,44,3,21,17,8],20)) #字典 dict key-value 无序的
print('-------------dict------------------')
te_di={1:2,'ed':54,'8e':'tr',7:[8,1,10,0]}
print(type(teli))
print(te_di)
print(te_di['ed'])
#判断key是否存在 在dict内部已经对key做了索引 时间复杂度需要学习?
print(7 in te_di)
print(8 in te_di)
#遍历 级联元素
for key,value in te_di.items():
print(key,value)
ddi=te_di.keys()
print(type(ddi))
print(ddi)
#set 元素没有重复的集合  没有下标的概念
sa=set([1,2,3,4,5,5,60,11,0,32])
sb=set([43,22,32])
print(sa)
#并集
print(sa|sb)
print(sa.union(sb))
#交集
print(sa&sb)
print(sa.intersection(sb))
#差集 sa - sa&sb
print(sa-sb)
print(sa.difference(sb))
print(sb.difference(sa))
#对称差 sa|sb - sa&sb
print(sa.symmetric_difference(sb))
#修改元素
print('---------------')
sb.add(600)
print(sb)
sb.update([44,55,6,77])
print(sb)
sb.remove(600)
print(sb)
#切片生成一个新的对象
print('------切片---------')
qp=list(range(10))
print(qp[::-1])
print(qp[4:8]) #快速推导
print('------快速推导---------')
kstd=[]
for i in range(10):
if i%3 == 0:
kstd.append(i)
print(kstd)
kstd=[1]*10
print(kstd)
kstd=[i*3 for i in range(30)]
print(kstd)
#浅拷贝 一维是赋值操作
kstd=[[0]*3]*3
print(kstd)
kstd[0][0]=100
print(kstd)
#深拷贝
kstd=[[0]*3 for i in range(3)]
print(kstd)
kstd[0][0]=100
print(kstd)
kstd={x for x in range(10) if x%2==0}
print(type(kstd))
print(kstd)
kstd={x: x%2==0 for x in range(10) if x%2==0}
print(type(kstd))
print(kstd)
#生成器是把真正的运算到使用的过程中
print('------生成器---------')
square_t=[]
for i in range(1000):
square_t.append(i*i)
for i in range(10):
print(square_t[i])
square_t=(x*x for x in range(1000))
print(square_t)
for i in range(10):
print(next(square_t))
def fib(limit):
n,a,b = 0,0,1
while n<limit:
yield b
a,b = b,a+b
n+=1
return 'done'
import traceback
f=fib(5)
print(type(f))
print(next(f))
print(next(f))
print(next(f))
print(next(f))
try:
print(next(f))
except StopAsyncIteration:
traceback.print_exc()
#迭代器
from collections import Iterable
from collections import Iterator print('------迭代器---------')
print(isinstance([1,2,3],Iterable))
print(isinstance({},Iterable))
print('------对象---------')
class Student:
def __init__(self,name,age):
self.__name=name
self.__age=age
def detail(self):
print(self.__name)
print(self.__age)
stdu=Student('张三',20)
stdu.name='李四'
stdu.detail()
#继承
class Car:
def __init__(self,wheel,circle):
self.wheel=wheel
self.circle=circle
def detail(self):
print(self.wheel)
print(self.circle)
class BaoMa(Car):
def moreMoney(self):
print('很贵的车')
bao=BaoMa('四个轮子','一个方向盘')
bao.detail()
bao.moreMoney() #多继承 广度优先
class F1:
pass
class F2(F1):
def show(self):
print('XXX 执行')
class F3:
def show(self):
print('F3 F3 F3')
def func(obj):
obj.show()
print(type(F2))
ff2=F2()
ff3=F3()
func(ff2)
func(ff3)
dir('AFC') 训练算法

python基础学习第五天的更多相关文章

  1. python基础学习(五)while循环语句

    while循环基本使用 循环的作用就是让指定的代码重复的执行 while循环最常用的应用场景就是让执行的代码按照指定的次数重复执行 流程图 基本语法 初始条件设置 —— 通常是重复执行的 计数器 wh ...

  2. Python基础学习(五)

    一.使用模块 已经了解了什么是模块,模块就是一个个文件的体,我们可以做不同的文件中引入各个模块文件,当然如果模块有冲突,还可以给模块文件的上层建立一个目录简称包,包名只能唯一,不能重名. 另外,一旦建 ...

  3. Python基础学习总结(五)

    7.用户输入输出和while循环 1.使用函数 input() 输入,print() 打印,字符串可以用逗号隔开.end=' ' 关键字参数,打印时可以不换行,sep=‘ 你想要的分隔符 ’,关键字参 ...

  4. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

  5. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  6. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  7. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

  8. python基础教程项目五之虚拟茶话会

    python基础教程项目五之虚拟茶话会 几乎在学习.使用任何一种编程语言的时候,关于socket的练习从来都不会少,尤其是会写一些局域网的通信的东西.所以书上的这个项目刚好可以练习一下socket编程 ...

  9. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

随机推荐

  1. 接触Java的15天,初步了解面向对象

    面向对象的三打特征:封装 ,继承 ,多态 . 图老师给的,叫我们好好看一看 对象(object):一个杯子,一台电脑,一个人,一件衣服  等,都可以称为对象. 类:类是对象的抽象的分类:比如,人类进行 ...

  2. 【Java基础】15、负数的二进制表示方法

    在计算机中,负数以其正值的补码形式表达. 什么叫补码呢?这得从原码,反码说起. 原码:一个整数,按照绝对值大小转换成的二进制数,称为原码. 比如 00000000 00000000 00000000 ...

  3. Kite(几何+镜面对称)

    C. Kite Time Limit: 1000ms   Case Time Limit: 1000ms   Memory Limit: 65536KB   Vova bought a kite co ...

  4. linux 系统filezilla无法上传文件 553 Could not create

    做网站过程中遇见了很多问题,解决了但是解决方法过一段时间就会遗忘,整理出来以便以后查看. 响应: 553 Could not create file.错误: 严重文件传输错误 解决方案: 一.必须将站 ...

  5. c++中的this指针和c#中的this引用

    先总结一下: 在c++中this为指针,使用"->"操作符来获取当前实例中的成员 在c#中this为引用,使用"."操作符来获取当前实例中的成员 下面内容 ...

  6. WEB前端面试选择题解答(共36题)

    第1题 ["1", "2", "3"].map(parseInt) A:["1", "2", &qu ...

  7. 【BI学习笔记】适合集成到项目里的BI:Wyn Enterprise

    近日,我收到葡萄城的邮件,讲葡萄城开始进军BI领域,发布了一套BI和报表工具,叫Wyn Enterprise. 之前了解过PowerBI等面向终端用户的BI工具,我发现BI工具与Wyn Enterpr ...

  8. Flutter 不一样的跨平台解决方案

    本文主要介绍Flutter相关的东西,包括Fuchsia.Dart.Flutter特性.安装以及整体架构等内容. 1. 简介 Flutter作为谷歌最近推出的跨平台开发框架,一经推出便吸引了不少注意. ...

  9. genymotion 模拟器内安装软件 the app contains ARM native code and your devices cannot run ARM instructions

    问题如图: 解决方法: 下载一个Genymotion-ARM-Translation软件,安装到模拟器中就好了

  10. 关于web优化(一)

    我们所说的web,无非就是html,css(web font, image),JavaScript. HTML优化建议: 1. 尽量不要用table进行布局. 2. 尽量用最新的带有语义的h5标签,这 ...