美文网首页
2020-02-08python学习

2020-02-08python学习

作者: 锅炉工的自我修养 | 来源:发表于2020-02-08 17:46 被阅读0次

网页提取固定位置的数据

    1. 查看网页html代码
    • 右键+查看代码
    • ctrl+u
    1. 找到固定位置的信息
    • find
    • slice
    • count
    • strip

python 基本数据结构

    1. 数据开发+程序开发
    1. 显示所有输出
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity="all"
    1. list在内存空间开辟连续的内存空间
      -4. 通过添加元素,是index对齐
    1. python slice使用" [ ]",matlab使用“( )”
    1. list 元素用“,”隔开。matlab 数组可以用“&nbsp”隔开
  • 7.学习查看API
    1. del 函数删除list中的元素
    1. remove('string') #删除的另一种方式
    1. contains
weekdays.remove("Friday") # 删除之前要确保存在
'Friday' in weekday

python 基本数据结构(三)

    1. append函数
weekdays.append('Saturday','Sunday') # 不能同时添加两个元素,在最后插入
weekdays.insert(0,"MondayAAA")# 在第0个元素之前插入
weekdays.index('Friday') # 找到元素,并且返回index
last_day=weekdays.pop() # 取最后一个元素
print("last_day=",last_day,"\nweekdays=",weekdays) # 拼接

# 计时函数
def timer(f):
    def _f(*args):
        t0=clock()
        f(*args)
        return clock()-t0
    return _f


timer(delete_elem)(x,-1) # 获取运行时间,3e-5s
print(len(x))
timer(delete_elem)(x,0) # 0.1s
print(len(x))
# 删除前边的元素,需要把其他元素向前整合。
# 在中间插入和在开始插入一个元素效率较低
timer(insert_elem)(x,0,9) # 0.56
print(len(x))
timer(insert_elem)(x,-1,9)# 6.7e-6
print(len(x))
# sort: sorted()保存原变量,sort(),改变原变量
nums.sort(reverse=True) # 反向排序
sorted('jsdfiwemgajsdf2124') # 可以进行排序
'jsdfiwemgajsdf2124'.sort() # str没有sort属性,只有sorted
obj_list=["string",1,True,3.14]
obj_list.sort() # 不同类型元素之间无法进行比较

x=sorted('sdfsgsdh3swg') # 数据类型是list
y=''.join(sorted('ABCDZYX')) # 数据类型是str
x
type(x)
y
type(y)

# assign vs copy
a=[1,2,3]
b=a
print("a=",a,"\nb=",b)
a[0]=2
print("a=",a,"\nb=",b) # a和b 通过assign,指向同一个地址
# copy,不改变copy量
a=[1,2,3]
b=a
c=a.copy()
d=a[:]
e=list(a)
""" a= [2, 2, 3] 
b= [2, 2, 3] 
c= [1, 2, 3] 
d= [1, 2, 3] 
e= [1, 2, 3]"""

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity="all" # 显示左右变量

s1[0]='x' # TypeError: 'str' object does not support item assignment
# str 不支持分配,可不可以修改,string is immutable
name,gender,age=tom_tuple # tuple,可以进行同时多变量赋值

# dictionary——key value pare
# A *dictionary* is similar to a list. But the order of items doesn't matter and they aren't selected by their offset(index). Instead, you specify a unique *key* to associate with each value. The key is often a string, but it can be any of Python's immutabletypes. 
# ““:””,
pizza={
    "size":"medium",
    "type":"pepperoni",
    "crust":"Thick",
    "qty":1,
    "deliver":True
      }
pizza # 无序,通过key访问
pizza['type'] # 通过key,访问value
#pizza['topping'] # 不存在,调用——keyError
print(pizza.get('topping'))
pizza.keys() # 所有的key
pizza.values()
pizza.items() # 所有的项目
#dict_items([('size', 'medium'), ('type', 'pepperoni'), ('crust', 'Thick'), ('qty', 1), ('deliver', True)])
pizza['topping']=['cheese','mushroom'] # 添加新的key,struct 的添加 field
# > Tip:Key are unique in dictionaries.

del pizza['topping'] # 删除指定的key& value pair
pizza.clear() # 清空dict

# set——A set is like a dictionary with its values thrown away. Leaving only the keys
empty_set=set() # 定义空set,唯一定义空set的方式
# {}指代的类型是dict
even_set={2,4,6,6,8,10} # 创建set



    1. def 最后记得加:
    1. 调用函数记得加()
clock() # 不加()认为是变量

-4. hash方法,key——hash——int(hash code)——取模——index


python 基本数据结构(七)

    1. operations
num_set& even_set # 两个中同时出现
num_set ^ even_set # 异或+相同的时候是零,不同的时候取并集
num_set- even_set # 非,属于第一个集合,但不属于第二个集合
num_set| even_set # 集合取并集

# convert to list
list('abdsdf')# string
list((1,2,3,4,5))# tuple
list({'name':'Ed','employer':'Oracle'}) # dict.key
list({'name':'Ed','employer':'Oracle'}.values()) # dict.value
list({5,6,7,8}) # 集合
set('sdfgerh') # string 2 set
dict(['ab','cd','ef']) list to dict

s1='asdfgg'
s2='erwqte'
list(zip(s1,s2)) # zip 打包
dict(zip(s1,s2))

# zip
d=list(zip(s1,s2)) # zip function
s3,s4=zip(*d) # unzip function
type(s3) # unzip 之后的数据为tuple
print(list(s3))
print(list(s4))
?zip 查看 API
numberlist=[1,2,3]
strlist=['one','two','three']
result=zip(numberlist,strlist)
type(result) # zip 也是一种data type

# mutable & immutable
s='hello'
print("{} id is {}".format(s,id(s)))
s='Yello'
print("{} id is {}".format(s,id(s)))
s=s+'w' # 昂贵的操作
print("{} id is {}".format(s,id(s))) # 把之前的结果覆盖了。
# dict 的key 只能是 immutable的,basic type基本是immutable。
# dict,list,set are mutable
mutable & immutable

mutable and immutable

# list mutable, update immediately
try_result=[] # cold refresh
def try_func(arg,result):
    print("inside before result is labeled {}, value {}".format(id(result),result))
    result.append(arg) # 修改了list(mutable)
    print("inside after result is labeled {}, value {}".format(id(result),result))
    print("inside try_result is labeled {}, value {}".format(id(try_result),try_result))

print("inside before result is labeled {}, value {}".format(id(try_result),try_result))
try_func('a',try_result)
print("inside after result is labeled {}, value {}".format(id(try_result),try_result))
# inside before result is labeled 2105835206536, value []
# inside before result is labeled 2105835206536, value []
# inside after result is labeled 2105835206536, value ['a']
# inside try_result is labeled 2105835206536, value ['a']
# inside after result is labeled 2105835206536, value ['a']

# copy function
try_result=[] # cold refresh
def try_func(arg,result):
    print("inside before result is labeled {}, value {}".format(id(result),result))
    result.append(arg) # 修改了list(mutable)
    print("inside after result is labeled {}, value {}".format(id(result),result))
    print("inside try_result is labeled {}, value {}".format(id(try_result),try_result))

# pass by value,不太明白
# imutable 的数据,系统会自动产生一个copy,来接受这个量。
# mutable的数据系统直接传递引用(指针)
# Note :Defualt argument values are calculate when the function is define. not when it is run. A common error with new (and sometimes not-so-new) Python programmers is to use mutable data type such as list or dictionary as defualt argument.

相关文章

  • 2020-02-08python学习

    网页提取固定位置的数据 查看网页html代码右键+查看代码ctrl+u 找到固定位置的信息findslicecou...

  • 学习学习学习

    第三天了,连续三天,早上睁眼开始,看视频,做课件,连续作业,直到晚上十二点才睡觉。吃饭不规律,想起来就吃,感觉不饿...

  • 学习学习学习

    23岁的我,才真正明白,什么是学习,什么是努力,努力和不努力真的不同,就好比同样是一篇稿子,我用一周背下来,有的人...

  • 学习学习学习!

    妈妈总是让我学习,我只能用装当办法。 方法一: 方法二: 方法三: 方法四: ...

  • 学习学习学习

    001.今天看财富自由之路看了第二遍,而且看了一半,算是完成任务很开心。中间有想放弃的念头,坚持看完。眼睛痛,一直...

  • 学习学习学习

    马自达为什么坚持高压缩比自吸

  • 学习!学习!学习!

    学习的痛苦是暂时的 没有学到的痛苦是永恒的 因为学习而特别充实的一天 很踏实 ~~~~ 2015.11.28.阴天...

  • 学习!学习!学习!

    无数次想要去逃离,可这封闭的世界根本出不去。你没有什么可以抛弃、只能咬着牙带着面具微笑的活下去。 没有那个人、他也...

  • 学习学习学习!

    昨天和今天两个上午,都在学习新媒体运营,学习的过程中心里只有一个想法:这也太套路,太功利了吧。可真应了那句话...

  • 学习,学习,学习!

    近期学习重点有两个方面,一方面是把上一个阶段定下任务的几本书读完,并在读的过程中有输出和转化,让阅读和学习真正能有...

网友评论

      本文标题:2020-02-08python学习

      本文链接:https://www.haomeiwen.com/subject/mupvxhtx.html