Python集合(数组)介绍----列表,元组,集合,字典

Python 集合(数组)

Python 编程语言中有四种集合数据类型:

  • 列表(List)是一种有序和可更改的集合。允许重复的成员。
  • 元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。
  • 集合(Set)是一个无序和无索引的集合。没有重复的成员。
  • 字典(Dictionary)是一个无序,可变和有索引的集合。没有重复的成员。

1.Python 列表

列表

列表是一个有序且可更改的集合。在 Python 中,列表用方括号编写。

1.1创建列表:

thislist = ["apple", "banana", "cherry"]

1.2访问列表

您可以通过引用索引号来访问列表项(从0开始)。

打印列表的第二项:

thislist = ["apple", "banana", "cherry"]
print(thislist[1])

负的索引

负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。

打印列表的最后一项:

指定范围后,返回值将是包含指定项目的新列表。

返回第三、第四、第五项:

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])

注意:搜索将从索引 2(包括)开始,到索引 5(不包括)结束。请记住,第一项的索引为 0。

负索引的范围

返回从索引 -4(包括)到索引 -1(排除)的项目:

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[-4:-1])

1.3更改项目值

如需更改特定项目的值,请引用索引号

更改第二项:

thislist = ["apple", "banana", "cherry"]
thislist[1] = "mango"

1.4遍历列表

您可以使用 for 循环遍历列表项

逐个打印列表中的所有项目:

thislist = ["apple", "banana", "cherry"]
for x in thislist:
  print(x)

1.5检查项目是否存在

如需确定列表中是否存在指定的项,请使用 in 关键字

检查列表中是否存在 “apple”:

thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
  print("Yes, 'apple' is in the list")

1.6列表长度

如需确定列表中有多少项,请使用 len() 方法

打印列表中的项目数:

thislist = ["apple", "banana", "cherry"]
print(len(thislist))

1.7添加项目

如需将项目添加到列表的末尾,请使用 append() 方法

使用 append() 方法追加项目:

thislist = ["apple", "banana", "cherry"]
thislist.append("orange")

要在指定的索引处添加项目,请使用 insert() 方法

插入项目作为第二个位置:

thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")

1.8删除项目

有几种方法可以从列表中删除项目

remove() 方法删除指定的项目:

thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")

pop() 方法删除指定的索引(如果未指定索引,则删除最后一项):

thislist = ["apple", "banana", "cherry"]
thislist.pop()

del 关键字删除指定的索引:

thislist = ["apple", "banana", "cherry"]
del thislist[0]

del 关键字也能完整地删除列表:

thislist = ["apple", "banana", "cherry"]
del thislist

clear() 方法清空列表:

thislist = ["apple", "banana", "cherry"]
thislist.clear()

1.9复制列表

您只能通过键入 list2 = list1 来复制列表,因为:list2 将只是对 list1 的引用,list1 中所做的更改也将自动在 list2 中进行。

有一些方法可以进行复制,一种方法是使用内置的 List 方法 copy() 。

使用 copy() 方法来复制列表:

thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()

制作副本的另一种方法是使用内建的方法 list():

thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)

1.10合并两个列表

在 Python 中,有几种方法可以连接或串联两个或多个列表。

最简单的方法之一是使用 + 运算符。

合并两个列表:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list3 = list1 + list2

连接两个列表的另一种方法是将 list2 中的所有项一个接一个地追加到 list1 中:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

for x in list2:
  list1.append(x)

使用 extend() 方法将 list2 添加到 list1 的末尾:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list1.extend(list2)

1.11list() 构造函数

也可以使用 list() 构造函数创建一个新列表:

thislist = list(("apple", "banana", "cherry")) # 请注意双括号

1.12列表方法

Python 有一组可以在列表上使用的内建方法。如下表:

方法描述
append(在列表的末尾添加一个元素
clear()删除列表中的所有元素
copy()返回列表的副本
count()返回具有指定值的元素数量。
extend()将列表元素(或任何可迭代的元素)添加到当前列表的末尾
extend()返回具有指定值的第一个元素的索引
insert()在指定位置添加元素
pop()删除指定位置的元素
remove()删除具有指定值的项目
remove()颠倒列表的顺序
remove()对列表进行排序

2. 元组

元组(Tuple)

元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。

元组的访问,遍历,检查项目是否存在,长度,合并和列表操作类似。以下是不同处:

2.1创建元组:

thistuple = ("apple", "banana", "cherry")

2.2更改元组值

创建元组后,您将无法更改其值。元组是不可变的,或者也称为恒定的。

但是有一种解决方法。您可以将元组转换为列表,更改列表,然后将列表转换回元组:

x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)

2.3添加项目

元组一旦创建,您就无法向其添加项目。元组是不可改变的。

2.4创建有一个项目的元组

如需创建仅包含一个项目的元组,您必须在该项目后添加一个逗号,否则 Python 无法将变量识别为元组:

thistuple = ("apple",)
print(type(thistuple))

#不是元组
thistuple = ("apple")
print(type(thistuple))

2.5删除项目

注释:您无法删除元组中的项目。

元组是不可更改的,因此您无法从中删除项目,但您可以完全删除元组:

thistuple = ("apple", "banana", "cherry")
del thistuple

2.6tuple() 构造函数

也可以使用 tuple() 构造函数来创建元组:

thistuple = tuple(("apple", "banana", "cherry")) # 请注意双括号

2.7元组方法

Python 提供两个可以在元组上使用的内建方法:

方法描述
count()返回元组中指定值出现的次数。
index()在元组中搜索指定的值并返回它被找到的位置。

 3.集合

集合(Set)

集合是无序和无索引的集合。在 Python 中,集合用花括号编写。

集合的遍历,检查项目是否存在,长度,删除和列表操作类似。以下是不同处:

3.1创建集合 

thisset = {"apple", "banana", "cherry"}

3.2访问项目

您无法通过引用索引来访问 set 中的项目,因为 set 是无序的,项目没有索引 。

3.3更改项目

集合一旦创建,您就无法更改项目,但是您可以添加新项目。

3.4添加项目

要将一个项添加到集合,请使用 add() 方法:

thisset = {"apple", "banana", "cherry"}
thisset.add("orange")

要向集合中添加多个项目,请使用 update() 方法:

thisset = {"apple", "banana", "cherry"}
thisset.update(["orange", "mango", "grapes"])

3.5合并两个集合

在 Python 中,有几种方法可以连接两个或多个集合。

您可以使用 union() 方法返回包含两个集合中所有项目的新集合,也可以使用 update() 方法将一个集合中的所有项目插入另一个集合中 。

union() 方法返回一个新集合,其中包含两个集合中的所有项目:

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set3 = set1.union(set2)

update() 方法将 set2 中的项目插入 set1 中:

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set1.update(set2)

3.6 set() 构造函数

也可以使用 set() 构造函数来创建集合:

thisset = set(("apple", "banana", "cherry")) # 请留意这个双括号

3.7 Set 方法

Python 拥有一套能够在集合(set)上使用的内建方法:

方法描述
add()向集合添加元素。
clear()删除集合中的所有元素。
copy()返回集合的副本。
difference()返回包含两个或更多集合之间差异的集合。
difference_update()删除此集合中也包含在另一个指定集合中的项目。
discard()删除指定项目。
intersection()返回为两个其他集合的交集的集合。
intersection_update()删除此集合中不存在于其他指定集合中的项目。
isdisjoint()返回两个集合是否有交集。
issubset()返回另一个集合是否包含此集合。
issuperset()返回此集合是否包含另一个集合。
pop()从集合中删除一个元素。
remove()删除指定元素。
symmetric_difference()返回具有两组集合的对称差集的集合。
symmetric_difference_update()插入此集合和另一个集合的对称差集。
union()返回包含集合并集的集合。
update()用此集合和其他集合的并集来更新集合。

4.字典

字典(Dictionary)

字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。

字典的遍历,检查项目是否存在,长度,删除和列表操作类似。以下是不同处:

4.1创建字典

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}

4.2访问项目

获取 "model" 键的值:

x = thisdict["model"]

还有一个名为 get() 的方法会给你相同的结果:

x = thisdict.get("model")

4.3更改值

把 "year" 改为 2019:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["year"] = 2019

4.4遍历字典

for循环:

与列表类似

使用 values() 函数返回字典的值:

for x in thisdict.values():
  print(x)

使用 items() 函数遍历键和值:

for x, y in thisdict.items():
  print(x, y)

4.5添加项目

通过使用新的索引键并为其赋值,可以将项目添加到字典中:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["color"] = "red"

4.6复制字典

您不能通过键入 dict2 = dict1 来复制字典,因为:dict2 只是对 dict1 的引用,而 dict1 中的更改也将自动在 dict2 中进行。

有一些方法可以进行复制,一种方法是使用内建的字典方法 copy():

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()

使用 dict() 方法创建字典的副本:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)

4.7嵌套字典

词典也可以包含许多词典,这被称为嵌套词典 。

创建包含三个字典的字典:

myfamily = {
  "child1" : {
    "name" : "zhangsan",
    "year" : 2002
  },
  "child2" : {
    "name" : "lisi",
    "year" : 1996
  },
  "child3" : {
    "name" : "wangwu",
    "year" : 1999
  }
}

创建三个字典,然后创建一个包含其他三个字典的字典:


 child1= {
   "name" : "zhangsan",
   "year" : 2002
 }

 child2= {
   "name" : "lisi",
   "year" : 1996
 }

child3=  {
   "name" : "wangwu",
   "year" : 1999
 }

myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

4.8dict() 构造函数

也可以使用 dict() 构造函数创建新的字典:

thisdict = dict(brand="Porsche", model="911", year=1963)
# 请注意,关键字不是字符串字面量
# 请注意,使用了等号而不是冒号来赋值

4.9字典方法

Python 提供一组可以在字典上使用的内建方法:

方法描述
clear()删除字典中的所有元素
copy()返回字典的副本
fromkeys()返回拥有指定键和值的字典
get()返回指定键的值
items()返回包含每个键值对的元组的列表
keys()返回包含字典键的列表
pop()删除拥有指定键的元素
popitem()删除最后插入的键值对
setdefault()返回指定键的值。如果该键不存在,则插入具有指定值的键。
update()使用指定的键值对字典进行更新
values()返回字典中所有值的列表

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值