lhl
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
  • python

    • Python 基础

      • 数据结构
        • 数据结构
        • set
      • 函数
      • 异常
      • 控制语句
      • 运算符
      • 模块
      • 输入输出
      • json
    • Python 数据库

    • 面向对象

    • Python Web

    • Python 进阶

  • leetcode

  • 软件测试

  • Git

  • linux

  • 产品

  • MySql

  • docker

  • python
  • 基础
2023-04-28
目录

数据结构

# 数据结构

# 元组

# 注意事项

  1. 不可变

# 使用场景

  1. 交换变量
a, b = b,a
  1. 函数返回值
def a:
	return (1,2)
  1. 元组赋值和输出
a = ('lv',26)
name, age = a
print('name:%s, age: %d'%(name, age))
print('name:%s, age: %d'%a)

# list

python 有元组的概念,但是经常用list 来模拟别的语言的数组实现

# 模拟数组

## 1维
a = [1,2,3]
## 1维 初始值 x, n 是个数
## a = [x ]* n
a = [-1] * 3		## [-1, -1, -1]
## 2维 初始值 x, [m][n] , [4][3]
 ## [[-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1]]
a = [[-1] * 3 for _ in range(4)]	 

二维数组使用列表生成式写法

# 初始化

numbers = [1, 2, 3]
## 空list 
empty_list = []
empty_list_1 = list();

# append

添加元素

numbers = [1, 2, 3]
numbers.append(5)		## 1,2,3,5

# del

删除元素

## 删除最后一个数
del numbers[-1]
## 也可以使用切片
numbers[:-1]

# 取值

numbers[index]
numbers[-1]

# dict

字典, dict,dict全称dictionary, 键值对形式, 其他语言相当于 map, 常见用法是hashmap

# 创建

## 创建空 hashtable
a = dict() 
b = {}
 d = {1: 'a', 2: 'b', 3: 'c'}

# 插入

d[3] = 'd'
## {1: 'a', 2: 'b', 3: 'd'}

# 取值


## [] 获取key不存在,则直接报错, d[4]
## get 获取key不存在,则返回默认值
print(d[1])
print(d.get(1))
print(d.get(4))

通过索引d[1]但是如果取不存在的键,就会直接报错 d[4]

通过 get方法, 取不存在的不会报错 d.get(4)

# 判断是否存在

 ## key in d 
3 in d		##  True
4 in d		##  False

# 遍历

for k, v in d.items():
    print("%d:%s" % (k, v))
for k in d.keys():
    print(k)
for k in d.values():
    print(k)

d.items() 键值对 d.keys() 键 d.values()值

# set

a = [1,2,2,3]
b = set(a)		## b = {1,2,3}

# 高级特性

# 切片&& Slice

##  切片,
##  浅拷贝
a = [1,2,3,4,5,6]
b = [1,2,3,4,5,6]

## 左闭右开
print(a[0:3])   ## output [1,2,3]
print(a[:3])    ## 等价于 a[0:3]

## 打印最后一个数
print(a[-1])        ## [6]
print(a[-2:])       ## [5,6]
print(a[-2:-1])     ## [5]

a[0:3]等价于 a[:3] 第一个参数如果是0, 就可以省略不写, 切片支持正向,也支持反向, 最后一个数是 -1 a[-1] 就是最后一个数 a[-2:-1] 取得第二个数,左闭右开 a[-2:] 取最后两个数,-1 被省略

# 字符串的切片

s = '012345'
s[3:5]
s[3:]

# 注意事项

  1. 切片是浅拷贝
  2. 左闭右开
  3. 字符串也可以切片

# 迭代

# 列表生成式

# 生成器

# 迭代器

函数

函数→

最近更新
01
lhl learn notes
02
filter
06-09
03
decorator
06-09
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式