3718-孙巧玲-人工智能-计算机视觉 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

内置函数:copy(浅拷贝)、deepcopy(深拷贝)。

浅拷贝:不拷贝子对象的内容,只是拷贝子对象的引用。

深拷贝:会连子对象的内存也全部拷贝一份,对子对象的修改不会影响源对象

[展开全文]

#打印99乘法表

for m in range(1,10):

    for n in range(1,10):

        if m>=n :

          print("{0}*{1}={2}".format(m,n,(m*n)),end="\t")

    print() #表示换行

 

#列表输出的练习

r1= dict(name="高小一",age=18,salary=30000,city="北京") 

r2= dict(name="高小二",age=19,salary=20000,city="上海") 

r3= dict(name="高小三",age=20,salary=10000,city="深圳") 

tb = [r1,r2,r3]

#打印工资大yu15000的人

for x in tb:

    if x.get("salary")>15000:

        print(x.get("name"))

[展开全文]

复习:

字符串“”

列表[]

元组()

字典{}

 

 

for比while省去了

[展开全文]

字典元素增删改

区分pop和popitem

返回删除值和返回删除键值对

[展开全文]

字典元素访问

1、【键】检索

2、get(),键不存在返回None,推荐

3. 列出所有的键值对

>>> a.items()

dict_items([('name', 'gaoqi'), ('age', 18), ('job', 'programmer')])

4. 列出所有的键,列出所有的值

>>> a.keys()

dict_keys(['name', 'age', 'job'])


>>> a.values()
dict_values(['gaoqi', 18, 'programmer'])

5. len() 键值对的个数
6. 检测一个“键”是否在字典中 in

[展开全文]

字典

键值对,无序,类似数据库那种感觉

字典中通过“键对象”找到对应的“值对象”。“键”是任意的不可变数据,但是:列表、 字典、集合这些可变对象,不能作为“键”。并且“键”不可重复。“值”可以是任意的数据,并且可重复。

 

创建方法

1、{} 或 dict()

2、zip()

>>> k = ['name','age','job']  #键
>>> v = ['gaoqi',18,'techer']  #值
>>> d = dict(zip(k,v))  #打包
>>> d
{'name': 'gaoqi', 'age': 18, 'job': 'techer'}

3、fromkey创建值为空(None)的字典

>>> a = dict.fromkeys(['name','age','job']) >>> a
{'name': None, 'age': None, 'job': None}

[展开全文]

生成器推导式创建元组

>>> s = (x*2 for x in range(5))
>>> s
<generator object <genexpr> at 0x0000000002BDEB48> #s还是个指针
>>> tuple(s)
(0, 2, 4, 6, 8)
>>> list(s) #只能访问一次元素。第二次就为空了。需要再生成一次 []
>>> s
<generator object <genexpr> at 0x0000000002BDEB48>
>>> tuple(s)
()
>>> s = (x*2 for x in range(5))
>>> s.__next__()  #逐步移动指针的方法
0
>>> s.__next__()
2
>>> s.__next__()
4

元组总结:

不可变

访问处理速度快

与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。

[展开全文]

元组的元素访问和计数

切片

排序:只能使用内置函数 sorted(tupleObj),并生成新的列表对象。

>>> a = (20,10,30,9,8)

>>> sorted(a)
[8, 9, 10, 20, 30]

zip(打包)

zip(列表 1,列表 2,...)将多个列表对应位置的元素组合成为元组,并返回这个 zip 对象。 >>> a = [10,20,30]
>>> b = [40,50,60]
>>> c = [70,80,90]

>>> d = zip(a,b,c)
>>> list(d)
[(10, 40, 70), (20, 50, 80), (30, 60, 90)]

[展开全文]

元组 tuple

不可变序列,没有增删改操作

关键在于访问、计数

创建元组

1、()

a = (10,20,30) or a = 10,20,30

b = 10,

2 、tuple()

b = tuple() #创建一个空元组对象

b = tuple("abc")

b = tuple(range(3)) b = tuple([2,3,4])

【区分】

tuple()可以接收列表、字符串、其他序列类型、迭代器等生成元组

list()可以接收元组、字符串、其他序列类型、迭代器等生成列表

[展开全文]

二维列表

前套循环打印2维列表

for m in range(3):

     for n in range(4):

          print(a[m][n],end="\t")

      print() #打印完一行换行

[展开全文]

列表的逆序

1、可以用切片[ : : -1]

2、reversed()返回迭代器,时间换空间

>>> a = [20,10,30,40]
>>> c = reversed(a)

>>> c  

<list_reverseiterator object at 0x0000000002BCCEB8>

#说明c是个迭代器

>>> list(c)
[40, 30, 10, 20]

#把c转换成列表输出倒序

>>> list(c)
[]

#迭代器只能用一次,迭代器里包含一个指针(如:0x0000000002BCCEB8),从列表尾部向前指,用第一次的时候就已经指到最前了

[展开全文]

切片slice操作

[起始偏移量 start:终止偏移量 end[:步长 step]]

⚠️ end-1(索引)

⚠️如果只有如:[1:3]、[-5:-3],则包头不包尾

⚠️使用负数,反着数

列表的遍历

for obj in listObj:

print(obj)

[展开全文]

列表元素访问和计数

1、索引访问

索引区间[0,列表长度-1],超范围会报异常

2、index() 元素在列表中(首次)出现的索引

index(value,[start,[end]])

>>> a = [10,20,30,40,50,20,30,20,30]
>>> a.index(20)

1
>>> a.index(20,3) #从索引位置 3 开始往后搜索的第一个 20

5
>>> a.index(30,5,7)

6

3、count() 计数

4、len() 长度=元素个数

5、成员资格判断

in

count() 返回0就不在

[展开全文]

列表元素的删除

1、del() 本质是数组拷贝

被删元素后面的依次向前拷贝

2、pop() 方法

删除并返回指定位置元素

3、remove() 方法

删除首次出现的指定元素,若不存在报异常

[展开全文]

列表的增加与删除

1、append() 尾部加,推荐

2、+运算,拼接,会产生新列表对象,id变

3、extend() 原地扩展,id不变

4、insert() 插入元素之一,涉及数组移动

5、乘法扩展

[展开全文]

列表的创建  

可存储任何数据,索引下表获取值

range()创建整数列表

range([start,] end [,step])

start参数:可选,起始

end参数:必选,结尾

step参数:可选,步长

循环创建多个元素

a = [ x*2  for  x  in  range(5)]

>>>a

[0,2,4,6,8]

if过滤元素

a = [ x*2  for  x  in  range(100) if x%9==0]

>>>a

[0,18,36,54,72,.......,198]

[展开全文]

python的序列

数据存储方法:字符串、列表、元组、字典、集合

存地址、轻量级

列表大小可变

[展开全文]

Python基础课

一、可变字符串

字符串定义以后是不可变的,不能原地修改吗,

 

 

[展开全文]

连续[2:5,1:4]跳跃[[2,1],[3,5]]

[展开全文]
Dino · 2021-05-09 · 自由式学习 0

分解问题

确认坐标系0点

按照思路敲代码

"报错的文字里总有认识的单词”

[展开全文]