Python3基础知识(三)写在前面👀写在后面

「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战

写在前面👀

今天主要的内容是列表、元组、字典、集合。

一、总览

Python六大标准数据类型👇

基本数据类型 举例
Number(数字) 1、0.1、1+2j、True、False
String(字符串) '大角牛'、"小角牛"
List(列表) ['Luffy',1.1,3+5j,True]
Tuple(元组) ('Luffy',1.1,3+5j,True)
Dictionary(字典) {'Luffy':'路飞','Zoro':'索隆'}
Set(集合) {'a','b','c','d'}、set()
  • 其中不可变数据类型有三个:Number(数字)、String(字符串)、Tuple(元组)
  • 可变数据类型也有三个:List(列表)、Dictionary(字典)、Set(集合)
  • 列表和元组是有序的(元素可以是重复的),字典和集合是无序的(key是唯一不能重复的)。

二、列表

list是一种有序可变集合,可以随时添加和删除其中的元素。

  • 列表用方括号[]表示
  • 比如想列出草帽团的船员,就可以用list:
>>>onepiece=['Luffy','Zoro','Nami','Usopp','Sanji','Chopper','Robin','FRANKY','BROOK']
>>>onepiece
['Luffy', 'Zoro', 'Nami', 'Usopp', 'Sanji', 'Chopper', 'Robin', 'FRANKY', 'BROOK']
复制代码
  • len()函数可以得到列表中元素个数。
>>> len(onepiece)
9 
复制代码
  • len()函数可知草帽海贼团一共9人,但区区四皇老甚平肯定不高兴了。所以我们可以用list.append(待添加值)追加元素到末尾,把老甚平添加到列表的最后:
>>> onepiece.append('Jimbei')
>>> onepiece
['Luffy', 'Zoro', 'Nami', 'Usopp', 'Sanji', 'Chopper', 'Robin', 'FRANKY', 'BROOK', 'Jimbei']
复制代码
  • 也可以用list.insert(索引号,待插入值)把元素插入到指定的位置,比如索引号为5的位置,把薇薇排到第六位:
>>> onepiece.insert(5,'Weiwei')
>>> onepiece
['Luffy', 'Zoro', 'Nami', 'Usopp', 'Sanji', 'Weiwei', 'Chopper', 'Robin', 'FRANKY', 'BROOK', 'Jimbei']
复制代码
  • 要删除指定位置的元素,用list.pop(i)方法,其中i是索引位置,虽然薇薇最终还是没有上船,但她永远是草帽海贼团的伙伴!
>>> onepiece.pop(5)
'Weiwei'
>>> onepiece
['Luffy', 'Zoro', 'Nami', 'Usopp', 'Sanji', 'Chopper', 'Robin', 'FRANKY', 'BROOK', 'Jimbei']
复制代码
  • 要把某个元素替换成别的元素,可以直接赋值给对应的索引位置,神•乌索普:
>>> onepiece[3]='God'
>>> onepiece
['Luffy', 'Zoro', 'Nami', 'God', 'Sanji', 'Chopper', 'Robin', 'FRANKY', 'BROOK', 'Jimbei']
复制代码
  • 列表里也可以有列表,叫做二维列表(俗称嵌套),当然也可以无限套娃,有多维列表:
>>> onepiece=['Luffy', 'Zoro',['大角牛','中角牛','小角牛'], 'Nami', 'God', 'Sanji', 'Chopper', 'Robin', 'FRANKY', 'BROOK', 'Jimbei']
>>> onepiece[2][2]
'小角牛'
复制代码
  • 当然列表里也可以放其他类型的数据:
>>> list=['a',1,True,3.14,1+2j]
>>> list
['a', 1, True, 3.14, (1+2j)]
复制代码

三、元组

tuplelist非常类似,也是有序的,但是tuple一旦初始化就不能修改。

  • 元组用小括号()表示
  • 元组是不可变的,所以代码更安全。它能像列表一样被索引,但没有.append.insert等改变值的操作,强行改变就会报错。
>>> onepiece=('Luffy', 'Zoro', 'Nami', 'God', 'Sanji', 'Chopper', 'Robin', 'FRANKY', 'BROOK', 'Jimbei')
>>> onepiece(0)='路飞'
  File "<stdin>", line 1
SyntaxError: cannot assign to function call
复制代码
  • 定义一个空的tuple,可以写成()
>>> tuple=()
>>> tuple
复制代码
  • 当元组中只有一个元素时,为了避免和数学中的小括号发生歧义,需在元素后面加一个逗号,
>>> a=(1)
>>> a
1
>>> a=(1,)
>>> a
(1,)
复制代码
  • 元组也可以套娃,虽然元组tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

四、字典

字典用键值对存储,他的查找速度极快,比列表快,但存储空间大;列表越长查的越慢,但列表存储空间小。

  • 表示方法:dict={'key':value}用花括号和冒号作为标志。
>>> onepiece={'Luffy':'路飞','Zoro':'索隆','Sanji':'山治'}
>>> onepiece['Luffy']
'路飞'
复制代码
  • 把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>> onepiece['Nami']='娜美'
>>> onepiece
{'Luffy': '路飞', 'Zoro': '索隆', 'Sanji': '山治', 'Nami': '娜美'}
复制代码
  • 一个key只能对应一个value,所以多次对key放入值,他会选择最后一个:
>>> onepiece['Luffy']='草帽小子'
>>> onepiece['Luffy']
'草帽小子'
>>> onepiece['Luffy']='海贼王'
>>> onepiece['Luffy']
'海贼王'
复制代码

五、集合

set和dict类似,也是一组key的无序集合,但不存储value。因为key是唯一的,所以集合中没有重复的key。

  • 可以使用大括号{}或者set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是{},因为{}是用来创建一个空字典。
  • 创建格式:t={key1,key2,key3,...}t=set(KEY)如:
>>> a={'1','2','3','4','5','6'}
>>> b = set('123456')
>>> print(a)
{'1', '3', '6', '5', '2', '4'}
>>> print(b)
{'1', '3', '6', '5', '2', '4'}
复制代码
  • 集合中没有重复的元素,如:
>>> b = set('12345611223')
>>> print(b)
{'1', '3', '6', '5', '2', '4'}
复制代码
  • 通过add(key)方法可以添加元素,通过remove(key)方法可以删除元素,如:
>>> b.add('0')
>>> b.remove('6')
>>> print(b)
{'1', '3', '0', '5', '2', '4'}
复制代码

写在后面

感谢观看💖
如有错误,欢迎指正✨