python基础:list和tuple,dict和set

python基础

list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们


使用key-value存储结构的dict在Python中非常有用,选择不可变对象作为key很重要,最常用的key是字符串


list

list是一种有序的集合,可以随时添加和删除其中的元素
s=['L','O']
  • len() 函数可以获得list元素的个数
  • 用索引来访问list中每一个位置的元素,记得索引是从0开始的
  • 如果要取最后一个元素,除了计算索引位置外,还可以用 -1 做索引,直接获取最后一个元素
  • ist是一个可变的有序表,所以,可以往list中追加元素到末尾:
>>>s.append('A') 
  • 把元素插入到指定的位置,比如索引号为1的位置
>>>s.instert(1,'B')
  • 删除list元素,用pop()方法:
>>>s.pop()
# 删除list末尾的元素
>>>s.pop(1)
# 删除指定位置的元素
  • list元素也可以是另一个list
>>>p=['N',s]
p[1][1]="B"
# 二维数组

tuple(元组)

tuple和list非常类似,但是tuple一旦初始化就不能修改
代码更安全。如果可能,能用tuple代替list就尽量用tuple
>>>s=('a','b','c')
  • 要定义一个只有1个元素的tupleq=(1,)
    只有1个元素的tuple定义时必须加一个逗号
    q=(1)按小括号进行计算
  • “可变的”tuple"
>>>t=('a','b','c',['A','B'])
>>t[3][0]='N'
>>>t
('a','b','c',['N','B'])

tuple所谓的“不变”是说,tuple的每个元素,指向永远不变

  • 函数返回多个值时,实质上返回的是一个tuple,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple

dict

  • dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度
d = {'a': 10, 'B': 20}
  • 通过key放入:>>> d['C'] = 30
  • 通过in判断key是否存在:
>>> 'd' in d
False
>>> 'c' in d
True
  • dict的key必须是不可变对象

set

  • set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
 s = set([1, 2, 3])
  • 通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
    通过remove(key)方法可以删除元素
>>> s=set([1,2,2,3,3,4])
>>> s
{1, 2, 3, 4}
>>> s.add(6)
>>> s
{1, 2, 3, 4, 6}
>>> n=set(['a','a','b'])
>>> n
{'b', 'a'}
>>> n.add('c')
>>> n
{'c', 'b', 'a'}
>>> s.add('c')
>>> s
{1, 2, 3, 4, 6, 'c'}
>>> s.remove('c')
>>> s
{1, 2, 3, 4, 6}
  • set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作
>>> s & n
{2}
>>> s | n
{1, 2, 3, 4, 6, 'a', 'b', 'c'}
  • set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等
    list放入set会报错
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 5,899评论 0 1
  • 0. 序言 python 是一门脚本语言:封装性强,语法简洁,开发效率高,只用函数open就可以打开一个txt文件...
    付凯强阅读 5,037评论 0 5
  • 与或运算 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此...
    张文靖同学阅读 2,563评论 0 1
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 5,805评论 0 5
  • 插入数据 命令格式:insert [into] 表名(字段列表)values(值列表),(值列表),.... ex...
    StrongZhao阅读 1,769评论 0 0

友情链接更多精彩内容