Python—列表、元组、字典、集合

前言

列表(list)、元组(tuple)、字典(dict)、集合(set) 是Python的四种基本数据类型。

列表(list)

列表(list)是Python内置的一种数据类型。list是一种有序的集合,可以随时添加和删除其中的元素。

创建列表

用方括号[ ]表示列表,创建一个名为name的列表

>>> name = ['Bob', 'Tom', 'Lucy', 'Beller']
>>> name
['Bob', 'Tom', 'Lucy', 'Beller']

使用type()函数,可以看到name的类型为list

>>> type(name)
<class 'list'>

使用len()函数,可以得到list的长度

>>> len(name)
4

访问列表

可以用索引来访问list中每一个位置的元素,索引是从0开始的

>>> name[0]
'Bob'
>>> name[3]
'Beller'

可以用-1表示倒数第一个,-2,-3…依次类推

>>> name[-1]
'Beller'
>>> name[-4]
'Bob'

当索引超出范围时,Python会报错

>>> name[4]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

list和tuple都有切片方法,语法格式为(截取的元素包括start,不包括end)

list_name[start, end]

如:

>>> name[0:3]
['Bob', 'Tom', 'Lucy']
>>> name[-4:-1]
['Bob', 'Tom', 'Lucy']

如果start或者end为空,则默认为第一个元素或者最后一个元素

>>> name[:2]
['Bob', 'Tom']
>>> name[:]
['Bob', 'Tom', 'Lucy', 'Beller']

修改列表

添加元素

直接用append()在列表尾添加

>>> name.append("Josh")
>>> name
['Bob', 'Tom', 'Lucy', 'Beller', 'Josh']

用insert()向指定位置添加,第一个参数是索引,第二个参数是要插入的值

>>> name.insert(1, 'Josh')
>>> name
['Bob', 'Josh', 'Tom', 'Lucy', 'Beller']

用extend()在列表尾添加许多个元素

>>> name.extend(['Josh', 'Mary'])
>>> name
['Bob', 'Tom', 'Lucy', 'Beller', 'Josh', 'Mary']

删除元素

remove(),参数为元素值

>>> name.remove('Bob')
>>> name
['Tom', 'Lucy', 'Beller']

pop(),参数为元素索引值,默认为列表末尾

>>> name.pop()
'Beller'
>>> name
['Bob', 'Tom', 'Lucy']

元组(tuple)

tuple和list非常类似,也是一个有序列表,但是tuple一旦初始化就不能修改,所以它没有list的那些修改的方法

创建元组

用圆括号( )表示列表,创建一个名为name的元组

>>> name = ('Bob', 'Tom', 'Lucy', 'Beller')
>>> name
('Bob', 'Tom', 'Lucy', 'Beller')
>>> type(name)
<class 'tuple'>
>>> len(name)
4

注意!
如何定义一个只有一个元素的tuple:

>>> number = (1)
>>> type(number)
<class 'int'>
>>> number = (1, )
>>> type(number)
<class 'tuple'>

可以看出,需要在仅有的那个元素后面加上逗号

访问元组

同list

字典(dict)

dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度

创建字典

用花括号{}表示字典({key1:value1, key2:value2, …}),创建一个名为name_age的字典:

>>> name_age={'Bob':22, 'Tom':14, 'Lucy':18, 'Beller':20}
>>> name_age
{'Bob': 22, 'Tom': 14, 'Lucy': 18, 'Beller': 20}
>>> type(name_age)
<class 'dict'>
>>> len(name_age)
4

注意!
重复元素会被字典过滤掉

>>> t = {1:1, 2:2, 1:1}
>>> t
{1: 1, 2: 2}

访问字典

通过key值访问

>>> name_age['Tom']
14

通过get()访问,第一个参数值为key值,为避免错误,第二个参数值为出现错误时的返回值

>>> name_age.get('Tom')
14
>>> name_age.get('West', 1)
1

通过for循环遍历整个字典,keys,values,items

>>> for key in name_age.keys():
...     print(key)
...
Bob
Tom
Lucy
Beller
>>> for value in name_age.values():
...     print(value)
...
22
14
18
20
>>> for key, value in name_age.items():
...     print(key, value)
...
Bob 22
Tom 14
Lucy 18
Beller 20

删除元素

pop(),参数为key值,同时对应的value也会被删除

>>> name_age.pop('Tom')
14
>>> name_age
{'Bob': 22, 'Lucy': 18, 'Beller': 20}

集合(set)

集合和字典类似,是一组key的集合,但是不存储value

创建集合

>>> s = set([1, 2, 3, 4, 5])
>>> s
{1, 2, 3, 4, 5}
>>> type(s)
<class 'set'>

添加元素

add(key),重复添加会被过滤

>>> s.add(6)
>>> s
{1, 2, 3, 4, 5, 6}

删除元素

remove(key)

>>> s.remove(5)
>>> s
{1, 2, 3, 4}

交集、并集

集合可以看成数学意义上的集合,同样有交集并集的特性

>>> s1 = {1, 2, 3}
>>> s2 = {3, 4}
>>> s1&s2
{3}
>>> s1|s2
{1, 2, 3, 4}

原文链接:https://yoxode.github.io/Python-%E5%88%97%E8%A1%A8%E3%80%81%E5%85%83%E7%BB%84%E3%80%81%E5%AD%97%E5%85%B8%E3%80%81%E9%9B%86%E5%90%88.html

Python编程语言,有四种常用的集合数据类型,它们分别是列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。列表是一种有序和可更改的集合,允许重复的成员。元组是一种有序且不可更改的集合,也允许重复的成员。字典是一个无序、可变且有索引的集合,其没有重复的成员。而集合是一种无序和无索引的集合,没有重复的成员。这四种集合数据类型在Python都有着不同的特点和用途。 在Python列表元组和字符串都属于序列,它们的元素都可以通过编号进行访问。而字典则属于映射,其的元素是以键值对的形式存在的。集合则不属于序列或映射的任何一种,它是一种独立的数据类型,用于存储一组不重复的元素。 总结起来,Python列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)都是常用的集合数据类型,它们各自有着不同的特点和用途。列表是有序和可更改的集合元组是有序且不可更改的集合字典是无序、可变且有索引的集合集合是无序和无索引的集合。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [浅谈python四种集合数据类型—【列表元组集合字典】](https://blog.csdn.net/QWERTYzxw/article/details/121479048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python 元组集合字典](https://download.csdn.net/download/weixin_38603219/13752298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值