Python 从入门到Machine learning,DeepLearning

目录

谨以此篇记录我在学习 python过程中的点点滴滴  

1.初识python

2.开始学习python

3.列表

3.1 对列表的操作 

3.2 元组

4.if 语句

5.字典 

5.1 使用字典

5.2 遍历字典

5.3 嵌套


谨以此篇记录我在学习 python过程中的点点滴滴  

qijishidai


受朋友张鹏年影响,突发奇想,也想在这里记录自己学习python的一些历程,包括但不限于一些环境的配置问题,库的安装问题以及pip 问题等,甚至到后面的机器学习中遇到的一些问题,都会记录在这里。

至于为什么会学习python,是因为在学习C++ primer plus 这本书的过程中感受到了C++的庞大,让我学的有点心累,在对面向对象有一定了解之后我决定开始专注于一门语言的学习,希望自己不要长时间拘泥于语言的学习,而是把它作为一种工具,去output。


1.初识python

python之所以被人推荐,就在于它的简单,方便,就像输出“hello world”,一行代码就可以搞定,但是对于初学者来说,我还是建议以c语言为起步,这样才能明白后续学习中的一些库以及模板在python中是怎样实现的。

print("hello world")

2.开始学习python

 两种字符串的合并,所以为什么会有f这种格式?

f格式的输出没有空格

name1 = "abc";
name2 = "def";
name = name1+name2;
print("hello",name)
print(f"hello{name1}{name2}")

也应该知道怎么看变量类型

a="adc"
print(type(a))

有关整数,浮点数的计算

a=5.1
b=3.2
print(a+b,a*b) #加减乘法
print(4/2,a**b) #除法,开方
print(14_2424_4564_34534535) #表示很大的数字

同时给多个变量赋值以及同时输出多个变量(注意:这里c的类型发生了变化)

a,b,c=1,2,3
print(a,b,c)#同时打印多个变量
print(type(c))
c,b,a="ef",b,c#同时给多个变量赋值
print(type(c))
print(a,b,c)

3.列表

python中,列表用方括号([ ])表示,并用逗号分隔元素。下面是常见的列表:

alphabet=["abc","acd",1,2,3]
print(alphabet)##打印列表中的元素
print(alphabet[1])##访问列表中的元素
print(type(alphabet[1]))
alphabet[1]=123;##修改列表中的元素
print(alphabet)
print(type(alphabet[1]))

由此可见,一个列表中可以存不同类型的元素,这是和c语言不同的,但是也有相似之处,就是可以用下标访问列表中的元素,并且通过下标修改该元素的内容和类型。


不一样的列表访问方式(index为-1则表示访问最后一个元素,-2则表示访问倒数第二个元素,因此在不知道表长的情况下也可以访问所有列表元素)

alphabet=["abc","acd",1,2,3]
print(alphabet[-1])##访问列表的最后一个元素
print(alphabet[1].title())##使用列表中的值

3.1 对列表的操作 

在列表 末尾添加元素(使用到 附加(append))                                                                     因此 append可以使一个空列表添加需要的元素
alphabet=["abc","acd",1,2,3]
alphabet.append("efg")
print(alphabet)
alphabet.append(256)
print(alphabet)

在列表中插入元素(insert) xxxx.insert(1,"xxx")表示将元素索引1处,之前1以及1后面的元素后移一位。ps:insert也可以在空列表中插入元素,顺应遵循索引的先后顺序。

alphabet=["abc","acd",1,2,3]
alphabet.insert(1,"efg")
print(alphabet)
list1=[]
list1.insert(3,"asd")
list1.insert(6,"efg")
print(list1)

从列表中删除元素:1.使用del语句进行删除;2.使用方法pop()来进行删除操作;3.使用方法remove()进行删除操作

三者的区别:del语句可以删除任意位置的列表元素,而pop只能弹出列表末尾的元素,并用一个新的变量返回,原列表末尾元素相应的减少一个,相当于一个栈。如果想弹出任意位置的元素则需要在pop()里面加一个索引来删除指定位置的元素。

remove()则是移除列表中的指定元素,当不知道删除元素的index的时候,就可以采用该方法。但需要注意的是,remove()只能删除列表中相同元素的第一个元素,如果需要删除所有相同的元素需要通过循环来完成。

alphabet=["abc","efg","jam","sukar",2,3]
del alphabet[0] ##del方法删除列表元素
print(alphabet)
popped_alphabet=alphabet.pop(-2)##pop方法删除元素
print(alphabet)
print(popped_alphabet)
alphabet.remove("efg")##remove方法删除元素
print(alphabet)

组织列表的一些方法:例如用方法sort()对列表进行升序排列或者降序排列,用方法reverse()来翻转列表,用函数len()求列表长度等

alphabet=["mario","abc","jam","efg","sukar"]
alphabet.sort()
print(alphabet)##升序打印列表
alphabet.sort(reverse=1)##降序打印列表
print(alphabet)
alphabet.reverse()##翻转列表
print(alphabet)
length=len(alphabet)##求列表的长度
print(length)

conclusion:增加列表元素 :append(),insert()

                     删除列表元素:del ,pop(),remove()

                     组织列表:sort(),reverse(),len()等


对列表进行一个简单的for循环遍历

listelements=["abd","def","sara","john"]
for i in listelements:
    print(i)

该段代码是将列表中的每一个元素依次赋给i,并将i打印出来。另外不要忘记缩进的问题和和for循环后面的冒号。

创建一个数值列表,使用到函数range()。注意:这里虽然是range(0,12),但是打印的数字只有0~11。如果range函数变为range(0,12,2),打印出来的元素依次为0,2,4,6,8,10。

如果将range()作为list()的参数,则会将上述元素变为一个列表存储在一个变量(numbers)中。注意:新的list()函数会覆盖原来变量numbers。

for value in range(0,12):  ##将元素(0,11)依次打印出来
    print(value)
for value in range(0,12,2): ##将元素(0,11)从从0开始不断加2打印出来,直到越界
    print(value)
numbers=list(range(0,12))  ##将元素(0,12)转化为一个列表存储在numbers中
print(numbers)
numbers=list(range(0,12,3))
print(numbers)

对数字列表进行简单的统计计算 ,这些内容都用python实现都比较简单,这里不多赘述。

numbers=[]
for i in range(0,12):
    numbers.append(i**7)
print(numbers)
print(min(numbers))
print(max(numbers))
s=sum(numbers)
print(s)

列表解析 (一种新的构建列表的方式)

numbers=[value**3 for value in range(0,20,2)]
print(numbers)

对列表的切片操作:列表切片和遍历切片列表 

listelements=["abd","def","sara","john",1,2,4,7]
print(listelements[0:3])  ##将切片列表打印出来
print(listelements[:5])
print(listelements[-3:])
print(listelements[:-3])
for i in listelements[0:5]:  ##遍历切片列表
    print(i)
for i in listelements[2:6]:
    print(i)

列表的复制操作:figures=numbers[:] ,该操作即可以复制所有列表,又能复制切片列表。复制之后再分别对这两个列表进行赋值操作会发现这两个列表已经没有关系,但是如果采用figures=numbers的操作是将numbers赋给figures,这两个变量仍然指向同一个列表,在对其进行操作时其实是对一个列表的操作。

numbers=["abd","def","sara","john",1,2,4,7]
figures=numbers[:]
figures1=numbers[2:6]
print("numbers's list is",numbers)
print("figures's list is",figures)
print("figures1's list is",figures1)
numbers.append("emf")
figures.append(1006)
print("numbers's list is",numbers)
print("figures's list is",figures)
这是上述操作的输出结果
numbers's list is ['abd', 'def', 'sara', 'john', 1, 2, 4, 7]
figures's list is ['abd', 'def', 'sara', 'john', 1, 2, 4, 7]
figures1's list is ['sara', 'john', 1, 2]
numbers's list is ['abd', 'def', 'sara', 'john', 1, 2, 4, 7, 'emf']
figures's list is ['abd', 'def', 'sara', 'john', 1, 2, 4, 7, 1006]

列表的学习就在此告一段落,下面我们将学习元组的知识。

3.2 元组

列表存储的元素可以随时被修改,但有时候我们需要创建一系列不可修改的元素,元组便出现了。Python将不可变的列表称为元组

定义元组:元组通常用圆括号来进行标识,定义元组之后,就可以用索引的方式来访问元素。

tuple=("abc","def","sdf","12",1,2,3)
print(tuple[2]) ##访问元组中的 元素
print(tuple[-3])
for i in tuple:##遍历元组
    print(i)
for i in tuple[2:5]:##遍历切片元组
    print(i)
tuple=(1,2,3,"a","b","c")
print(tuple)

上述是对元组的一些基本操作,基本跟列表一致,虽然元组的元素不能被修改,但是可以给元组变量赋一个新的元组。另外注意:只创建具有一个元素的元组需要在这个元素后面加一个逗号。

4.if 语句

用一个简单的示例来演示if语句:

cars = ["ad","bmw","benz","poshi","toyota"]
for car in cars:
    if car=="poshi":
        print("hi bro",car)
    else:
        print(car)
print("bmw" in cars)##检查特定元素是否在列表中
print("labojin" not in cars)##检查特定值是否包含在列表中
if语句检查多个条件:and相当于“与”,or相当于“或”。
score=int(input("enter a number rang(0,100)"))
if score<60 and score>=0:
    print(score,"is not access")
elif score>=60 and score <70:
    print(score,"just so so")
elif score>=70 and score<90:
    print (score,"this is ordinary")
elif score>=90 and score<=100:
    print (score,"you are good")
elif score>100 or score<0:
    print("figure is wrong,please rewrite")

if-elif-else结构灵活多变,用的时候注意选择。注意:不要忘记冒号

5.字典 

在python中,字典是一系列的键值对,每一个键都与一个值相关联,同时,与键相关联的值可以是数字,字符串,列表,甚至字典。

5.1 使用字典

访问列表中的值的方法和前面列表访问方式基本相同,唯一的一点区别就是字典的index是对应的键,而不是通过数字下标进行访问。另外:字典中可以存放列表,字典等,列表中又可以存放列表,由此访问最深层的列表元素时应该逐层访问,首先通过键访问到键对应的值(列表),再通过下标访问列表。

dictor={"color":"green","year":2000,"month":10,"day":28,"list":[1,2,3,"sad",["add",1,3]]}
print(dictor)##打印字典
print(dictor["day"])##打印字典中某一个键值
print(dictor["list"][4][0])##打印字典中某一列表的列表

在字典中添加键值对:字典是一种动态结构,可随时在其中添加键对值,可依次指定字典名,用方括号括起的键和相关联的值。

修改和删除字典中的值:类似于列表,只不过现在的index是字典的键。

dictor={"color":"green","year":2000,"month":10,"day":28,"list":[1,2,3,"sad",["add",1,3]]}
print(dictor)
dictor["hobby"]="fishing"
dictor["number"]=2
print(dictor)
dictor["hobby"]="playing"
print(dictor)
del dictor["color"]
print(dictor)

5.2 遍历字典

 对字典进行遍历:在遍历时需要用的方法items(),它返回的是一个键值对列表,for循环声明的两个变量分别用来存储键和键所对应的值,而两个变量可以随意指定。

遍历字典中的所有键:在不需要使用字典中的值时,方法key()只将字典的键赋给for循环的变量,另外,在for循环后面不加方法key()时,python默认遍历所有的键。

按特定顺序遍历字典中的所有键:通过调用函数sort()实现。

遍历字典中的所有值:方法values()返回的是一个值列表。如果需要避免字典中值的重复项,可以使用集合set()。

dictor={"color":"green","year":2000,"month":10,"day":28,"list":[1,2,3,"sad",["add",1,3]],
"money":2000}
print(dictor.keys())##打印列表的所有键
print(dictor.values())##打印列表的所有值
for i in dictor.items():  ##同时遍历字典中的所有键和值
    print(i[0].upper(),i[1])
for i, k in dictor.items():##同时遍历字典中的所有键和值
    print(i,k)
    print(type(i),type(k))
for i in dictor.keys():##只遍历字典中的键
    print(i.title())
for i in dictor:##和上面结果相同
    print(i.title())
for i in sorted(dictor):##按特定顺序遍历字典中的所有键
    print(i)
for i in dictor.values():##遍历字典中的所有值
    print(i)
for i in set(dictor.values()):#将字典中的值变为集合
    print(i)

5.3 嵌套

在前面的使用字典和遍历字典的过程中,我们已经接触了在字典中存储列表,还有另外两种情况就是在列表中存储字典以及在字典中存储字典,这些情况无非就是多了一个或者多个嵌套,只要能够明确地辨别出列表和字典,清楚他们的各自的用法,就能够正确使用这些嵌套了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值