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. eclipse中安装windowbuilder插件、应用及卸载

    一.安装windowbuilder插件 1.找到对应版本的windowbuilder 连接地址:http://www.eclipse.org/windowbuilder/download.php 如图 ...

  2. 【redis】7、redis用法总结

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 一.redis优点 Redis支持数据的持久化,可以将内存中 ...

  3. TCP服务器/客户端代码示例

    TCP服务器代码: #include <errno.h> #include <string.h> #include <stdlib.h> #include < ...

  4. C Looooops(poj2115+扩展欧几里德)

    C Looooops Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Pr ...

  5. 如何把string转换char*类型

    需要调用string头文件  ( #include<string> ) 用string里的函数c_str()可以把string转换为char* 例如 char * c_str2=str1. ...

  6. 前端面试(原生js篇) - 精确运算

    一.面试题 问:开发的时候有用到过 Math 吗? 答:很多啊.比如生成 GUID 的时候,就会用到 Math.random() 来生成随机数. 问:别的呢?比如向下取整.向上取整? 答:向下取整是  ...

  7. BZOJ2705: [SDOI2012]Longge的问题(欧拉函数)

    题意 题目链接 Sol 开始用反演推发现不会求\(\mu(k)\)慌的一批 退了两步发现只要求个欧拉函数就行了 \(ans = \sum_{d | n} d \phi(\frac{n}{d})\) 理 ...

  8. Scoop及使用

    scoop window的命令行安装程序管理工具 通常我们下载软甲需要从网上搜索软件并下载安装等一系列复杂麻烦的过程 现在有了scoop 等一系列包管理器的诞生,就是省去了上述繁琐的搜索 - 下载 - ...

  9. 【读书笔记】iOS-优化内存

    imageNamed:方法创建UIImage对象,这些对象不再使用的时候 会放到应用的默认自动回收池中,而不是当前的事件循环的自动回收池中,这样的对象占用的内存只有在应用结束的时候 才会回收.如果用这 ...

  10. Ansible--常用模块使用(2)

    Ansible常用模块 cron 模块 用途:cron模块⽤于设置定时任务,也⽤于管理定时任务中的环境变量使用方法: [root@ansible ~]# ansible-doc -s cron - n ...