一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

li = np.random.randint(-100, 100, size=10)

就地转化

li = li.tolist()

用sort()结果

li_sort = sorted(li, reverse = False)

print(‘用sort方法,重新排列结果:{}’.format(li_sort))

不用sort方法,自己写排序方法做,

冒泡排序

def bubbleSort(m):

m = m.copy()

for time in range(1, len(m)):

for index in range(len(m) - time):

if m[index] > m[index+1]:

m[index], m[index+1] = m[index+1] , m[index]

return m

选择排序

def selectSort(m):

m = m.copy()

for seat_L in range(len(m)-1):

for seat_R in range(seat_L+1, len(m)):

if m[seat_L] > m[seat_R]:

m[seat_L], m[seat_R] = m[seat_R], m[seat_L]

return m

插入排序1(内部写成函数):

def insertSort_1(m):

result = []

单个元素k插入列表li

def to_insert(li, k):

标识符

tab = False

寻找插入位置

循环次数应该至少大于列表长度+1,None也占一位(空列表),即认为扑克牌最末尾还有一张‘空牌’

for i in range(len(li) + 1):

修改标识符,标志‘遍历完后的下一个循环’,即在和‘空牌’比较

if i == (len(li)):

tab = True

如果在对li[-1]比较完成(包含)之前,且寻找到位置,即把扑克从左往右比较一遍

if not tab and k < li[i]:

li.insert(i, k)

break

如果遍历完成,多循环一次,即和‘空牌’不需要比较,直接把牌替换掉‘空牌’

if tab:

li.append(k)

return li

遍历列表

result = result[:1]

for length in range(len(m)):

result = to_insert(result, m[length])

print(result,m[length])

return result

插入排序2(直接嵌套循环):

def insertSort2(m):

m = m.copy()

result = m[:1]

for index_choose in range(1, len(m)):

手上已经有index_choose张牌,比较第index_choose+1张牌则append

逐个比对手上的牌,如果都对比了一遍,则加到最后

for index_insert in range(len(result) + 1):

print(result, index_insert,‘\n’,m, index_choose,‘\n\n’)

if index_insert != index_choose and m[index_choose] < result[index_insert] :

result.insert(index_insert, m[index_choose])

break

if index_insert == index_choose:

result.append(m[index_choose])

print(result, m[index_choose])

return result

print(li)

print(‘插入排序:’,insertSort3(li))

print(‘选择排序:’,selectSort(li))

print(‘冒泡排序:’,bubbleSort(li))

que6()

2.调换字典键值

1. 调换元素.\

def que1():

d={1:“one”,2:“two”}

方法1 — 动态赋值

def method1(d):

d = d.copy()

result = {}

for k,v in d.items():

result[v] = k

return result

方法2 — 生成器

def method2(d):

d = d.copy()

result = {v:k for k,v in d.items()}

return result

方法3 — 由值寻找键

def method3(d):

d = d.copy()

由键寻找值

def match(dic, b):

return [k for k,v in dic.items() if v == b]

先生成key-None,再赋值

result = {}

result = result.fromkeys(d.values())

for k in result.keys():

result[k] = match(d, k)[0]

return result

方法4 — 列表转字典 < 直接转换/动态赋值 >

def method4(d):

d = d.copy()

key = d.keys()

val = d.values()

data = list(zip(key, val))

方法4-1

result1 = {}

for i in range(len(data)):

result1[data[i][1]] = data[i][0]

方法4-2

result2 = dict(zip(val, key))

return result1, result2

print(‘新列表动态赋值方法:{}’.format(method1(d)))

print(‘生成器方法:{}’.format(method2(d)))

print(‘由键寻值方法:{}’.format(method3(d)))

print(‘动态赋值列表转字典方法:{}’.format(method4(d)[0]))

print(‘直接列表转字典方法:{}’.format(method4(d)[1]))

que1()

3.删除列表中的重复元素

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

3. 删除重复元素list =[1,2,5,4,1,5,6,8,0,2,5]

a = np.random.randint(-100, 100, size=10)

a = a.tolist()

def method1(a):

a = a.copy()

a = set(a)

return a

def method2(a):

b = a.copy()

c = 0

for i in range(len(a)-1):

if b[i+c] in b[:i+c]+b[i+c+1:]:

b.pop(i+c)

c -= 1

return b

print(‘集合法:’,method1(a))

print(‘遍历法:’,method2(a))

4.输出质数

def prime(end):

prime_list = []

if end <= 1:

print(‘必须大于1’)

else:

prime_list.append(2)

for i in range(2, end+1, 1):

count = 0

if i == 2:

if i%2 != 0:

prime_list.append(2)

else:

for m in range(2, i):

能够整除,则跳出循环

if (i % m) == 0:

print(i, m)

break

否则计数+1

else:

count += 1

判断是否整除完成(0/n)

if count == i - 2:

prime_list.append(i)

print(count, i, m)

return (prime_list)

num = int(input(‘想输出2到多少?’))

print(prime(num))

5.判断是一年中第几天

def que3():

3.输入某年某月某日,判断这一天是这一年的第几天?:

闰年判断函数

def judge_leap(num):

date = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

(四年一闰 and not百年) or 四百年闰

if (num % 4 == 0 and num % 100 != 0) or num % 400 ==0:

date[1] =29

return date

格式转换

date = (input(‘请输入一个日期,格式如:“2018.02.12”:’))

date_list = (list(map(int, (date.split(‘.’)))))

遍历计算天数

day = date_list[2]

for i in range(date_list[1]):

day += judge_leap(date_list[0])[i]

print(‘{}月{}日是{}年的第{}天\n’.format(date_list[1], date_list[2], date_list[0], day))

que3()

6.猜数字

重新猜数字

import random

def judge_num(num, num_random):

if num > num_random:

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐