python基础总结

列表总结

  • 列表是可以修改的,元组不行
  • python的列表里可以存各种类型的数据
  • 两种主要的容器是序列 (列表和元组)和映射 (字典)
  • 集合(set)既不是序列也不是映射
  • 负数索引是从后往前数
  • 对于字符串字面量(以及其他的序列字面量)可以直接对其执行索引操作而无需先将其赋给变量

eg.

python 复制代码
print('green')[0]
//输出g
  • 切片左边包括,右边不包括
  • 切片使用时候需要注意:如果第一个索引指定的元素位于第二个索引指定的元素的后面,最后结果就是空序列
  • 0索引可以省略
  • 如果前后索引都省略,就是复制整个序列
  • 序列相加就是序列拼接
  • 不能直接拼接不同类型的序列
  • 将序列与数相乘x的时候,将重复整个序列x次得到一个新的序列
python 复制代码
print('python.'*5)
//输出python.python.python.python.python.
  • 列表删除元素使用del
python 复制代码
x = [1,2,3]
del x[2]
print(x)

//输出[1,2]
  • 切片赋值

通过使用切片赋值,可以将切片长度替换为长度与其不同的序列

python 复制代码
name = list('perl')
print(name)
name[1:] = list('ython')
print(name)

//输出
['p', 'e', 'r', 'l']
['p', 'y', 't', 'h', 'o', 'n']
  • b=a是深拷贝,底层指向一个对象,改一个另一个也会改
  • b = a.copy()是浅拷贝,底层指向的是两个对象,b相当于a的副本
  • python中字符串不能直接修改
  • 元组里如果只有一个值,必须在后面加上逗号

字典

  • 可以通过fromkeys创建字典,其中包含指定的键,且每个键对应的值都是None
python 复制代码
{}.fromkeys(['name','age'])
dict.fromkeys(['name','age'])
  • python中尽量少使用isinstance
  • 若想方法私有化,就在前面加__
  • cumsum()方法累计求和,每个位置的值 = 该位置原来的值 + 前面所有位置值的总和

举个复杂列表使用的例子

python 复制代码
up_count = sum(1 for ticker in tickers.values() if ticker['percentage'] > 0)这句话什么意思

tickers.values() - 获取字典中所有的值(每个股票信息字典)
for ticker in tickers.values() - 遍历字典中的每个股票信息
if ticker['percentage'] > 0 - 筛选条件:只选择涨幅大于0%的股票
1 for ... - 对于每个符合条件的股票,生成数字1
sum(...) - 将所有1相加,得到总数
up_count = ... - 将结果赋值给变量up_count

等价于
up_count=0
for ticker in tickers.values():
    if ticker['percentage']>0:
        up_count+=1
相关推荐
风之所往_20 分钟前
Python 3.0 新特性全面总结
python
2401_8822737223 分钟前
如何在 CSS 中正确加载本地 JPG 背景图片
jvm·数据库·python
Lucas_coding1 小时前
【Claude Code Router】 Claude Code 兼容 OpenAI 格式 API, Claude code 接入本地部署模型
人工智能·python
测试员周周1 小时前
【AI测试系统】第5篇:从 Archon 看 AI 工程化落地:为什么"确定性编排+AI 弹性智能"是终局?
人工智能·python·测试
我命由我123451 小时前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime
Halo_tjn1 小时前
Java Set集合相关知识点
java·开发语言·算法
许彰午1 小时前
我手写了一个 Java 内存数据库(二):B+ 树的插入与分裂
java·开发语言·面试
大飞记Python2 小时前
【2026更新】Python基础学习指南(AI版)——04数据类型
开发语言·人工智能·python
Alice-YUE2 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
云泽8082 小时前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++