一、比较与交换
1.比较并输出大的

print(a if a>b else b)

2.交换两个元素

a,b = b,a
list1[i],list[j]=list1[j],list[i]

二、排序

1.字符串排序

s = 'aaccbgd'
print(''.join(sorted(list(s))))

2.数组排序

l = [4,5,2,3,9]
print(sorted(l)) #从小到大排序
print(sorted(l,reverse=True)) #从大到小排序

3.字典排序,转为列表

d = {3: 2, 2: 1, 1: 3}
l1 = sorted(d.items(),key=lambda x:x[0]) #根据key排序
l2 = sorted(d.items(),key=lambda x:x[1]) #根据value排序

三、转换

1.字符串-数组

s = 'abcde'
l = list(s)

2.数组-字符串

l = [1,2,4,4,3]
#s = str(l) #直转
s = ''.join([str(x) for x in l]) #使用join连接需转为string格式

3.字典-数组

d = {3: 2, 2: 1, 1: 3}
l1 = sorted(d.items(),key=lambda x:x[0]) #根据key排序

4 字典-数组,将两个列表分别转为字典的key与value

l = [1, 2, 4, 4, 3]
s = ['s', 'y', 'o', 'm', 'z']
d = dict(zip(l,s))

5.ip地址-32位整数

ip="192.168.1.1"
list_ip = list(map(int,ip.split(".")))
res = ""
for i in list_ip:
res += str("%08d" % (int(bin(i)[2:])))
print(int(res,2))

四、遍历(循环)

1.单层遍历数组for循环

value = 0
for i in range(100): # 累加1-100
value += i
print(value)

2.多层遍历数组for循环

l = [2,4,5,7,3,8,1,3]
n = len(l)
for i in range(n): #冒泡排序
for j in range(n-i-1):
if l[j] > l[j+1]:
l[j],l[j+1]=l[j+1],l[j]

3.while遍历数组

i = 1
while i <= 9: #打印99乘法表
a = 1 # 列数计数器
while a <= i:
print("%d * %d = %d" % (a, i, i * a), end="\t")
a += 1
print("")
i += 1

五、查找

1.字符串中查找第一个出现元素位置,无返回-1

print(s.find("a"))

2.列表中查找第一个出现的元素的位置,无报错

print(list1.index("hello"))

3.字段内查找对应的key的value,无返回第二个元素(可缺省)

print(dict1.get("k1"))
print(dict1.get("k1",0))

六、递归

def Fibonacci(n): #斐波那契数列
if n == 1 or n == 2:
return 1
elif n == 3:
return 2
else:
return Fibonacci(n - 1) + Fibonacci(n - 2)

七、语句简化

1.快速赋值/初始化

num,s,l,d = 0,"yes",[],{}

2.三目运算符

flag = True
print(1 if flag else -1)

3.列表推导式

x = [1,1,1]
y = [1,2,3]
z = [a+b for a in x for b in y] #返回各种相加的结果
q = [a+b for a,b in zip(x,y)] #返回对应下标相加的结果

4.lamda表达式

x = lambda i:i**2  #使用lambda简化函数内容
print(x(4))
d = {3: 2, 2: 1, 1: 3}
l1 = sorted(d.items(),key=lambda x:x[0]) #使用lamda指定排序的字段:根据key排序
l2 = sorted(d.items(),key=lambda x:x[1]) #使用lamda指定排序的字段:根据value排序

最新文章

  1. advstringgrid笔记
  2. 相克军_Oracle体系_随堂笔记003-体系概述
  3. 开源UML工具推荐
  4. 使用MEF实现通用参数设置
  5. 01C语言基础知识
  6. SQL Server 2012 管理新特性:AlwaysOn【转】
  7. string 与char* char[]之间的转换 2015-04-09 11:30 29人阅读 评论(0) 收藏
  8. Error NO.2013 Lost connection to Mysql server during query
  9. jquery.ajax和Ajax 获取数据
  10. sql dateDiff函数
  11. 基于Linux下catalog方式的 Oracle 备份策略(RMAN)
  12. python学习-01
  13. oracle更改字符集为zhs16GBK
  14. T-2-java面向对象
  15. springmvc复习笔记----springmvc姓名年龄例子:RequestParam 试水
  16. Codeforces 348D Turtles LGV
  17. springboot拦截器中获取配置文件值
  18. Oracle数据库重做日志及归档日志的工作原理说明
  19. 001_ASP.NET MVC 实用教程 论坛项目 北盟网校 原创视频教程
  20. 微信小程序跳转分析

热门文章

  1. Homework6
  2. KingbaseES R6 集群“双主”故障解决案例
  3. 关于在PyCharm中使用虚拟环境
  4. 一门能让你五分钟学会的语言-Brainfuck
  5. Solutions:Elastic workplace 搜索:随时随地搜索所有内容 (一)
  6. logstash安装插件修改使用的gem源
  7. Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能
  8. C语言:类型存储
  9. 在图片不被裁剪时opencv绕图片中任意点旋转任意角度
  10. 驱动开发:内核R3与R0内存映射拷贝