以下不是python组合数据类型_Python基础语法三组合数据类型

一、列表(Lists)

列表属于Python中的序列类型,它是任意对象的有序集合,通过 “ 位置 ”或者 “ 索引 ” 访问其中的元素,它具有可变对象、可变长度、异构和任意嵌套的特点。

列表里第一个元素的为值或者索引是从 “ 0 ” 开始,第二个元素则是 “ 1 ”,一次类推。

列表的元素放置在方括号 [] 中,以逗号来分隔各元素;

格式如下:

listname = [元素1,元素2,元素3,...,元素n ]

1

1listname = [元素1,元素2,元素3,...,元素n ]

例:

sample_list1 = [1,2,3,4]

sample_list2 = ["P","y","t","h","o","n"]

sample_list3 = ['Python','sample','list','for','your','reference']

print(sample_list1)

print(sample_list2)

print(sample_list3)

6

1sample_list1 = [1,2,3,4]

2sample_list2 = ["P","y","t","h","o","n"]

3sample_list3 = ['Python','sample','list','for','your','reference']

4print(sample_list1)

5print(sample_list2)

6print(sample_list3)

1.1 列表中允许有不同数据类型的元素,但最好使用相同的数据类型。

1.2 列表可以嵌套使用。(即列表中包含列表元素)

1.3 通过使用 “ 位置 ” 或者 “ 索引 ” 来访问列表中的值,“ 位置 ” 或者 “ 索引 ” 是从 0 开始。

1.4 可以在方括号中使用 “ 负整数 ” ,如 sample_list[-2],表示从列表右侧开始倒数2个的元素。

1.5 方括号中用冒号分开的两个整数来截取列表中的元素。如:sample_list2[ 2:4 ],可获取第3个和第4个元素,(包左不包右)

1.6 对列表元素进行修改时,可以使用赋值语句;

1.7 删除列表元素,可以使用 del 语句;del listname[索引]

在不关心元素索引时,可以使用内置方法 remove() 来删除指定的值。如:listname.remove('值')

1.8 清空列表,可以采用重新创建一个与原列表同名的空列表,如 listname = []

删除整个列表也可以使用 del 语句, del listname

1.9 列表中内置函数与其他方法:

函数说明

len(listname)返回列表的元素数量

max(listname)返回列表中元素中最大值

min(listname)返回类别中元素的最小值

list(tuple)将元组转换为列表

listname.append(元素)添加新的元素在列表末尾增

listname.count(元素)统计该元素在列表中出现的次数查

listname.extend(序列)追加另一个序列类型中的多个值增,改

listname.index(元素)从列表中找出某个值第一个匹配元素的索引位置

listname.insert(位置 , 元素)从列表中找出某个值第一个匹配元素索引的位置

listname.pop([index=-1])移除列表中的一个元素,并返回该元素的值

listname.remove(元素)移除列表中的第一个匹配的某个值元素

listname.reverse()将列表中的元素反向

listname.sort(cmp = None, key= None, reverse=False)对列表进行排序

listname.clear()清空列表

listname.copy()复制列表

二、元组(Tuples)

元组与列表一样,属于Python中的序列类型,它是任意对象的有序集合,通过 “ 位置 ” 或者 “ 索引 ” 访问其中的元素,它具有可变长度、异构和任意嵌套的特点,与列表不同的是:元组的元素是不可修改的。

格式:元素放在小括号里,元素之间用逗号隔开。

tuplename = ( 元素1,元素2,... ,元素n )

2.1 元组可以为空;

2.2 为避免歧义,当元组中只有一个元素时,必须在改元素后面加上逗号,否则括号会被当做运算符。(sample_tuple = ( 15, ))

2.3 元组可以嵌套使用;

2.4 可以使用索引来访问元素;

2.5 支持切片操作;

sample_tuple[:]:取元组所有元素;

sample_tuple[4:]:表示取元组索引为 3 后面所有的元素;

sample_tuple[0:4:2]:表示元组sample_tuple索引为 0 到 4 的元素,每隔一个元素取一个。

2.6 删除元组

del sample_tuple

2.7 内置函数

函数说明

len(tuplename)返回元组元素的数量

max(tuplename)返回元组中元素的最大值

min(tuplename)返回元组中元素的最小值

tuple(listname)将列表转换为元组

三、字典(Dictionaries)

字典属于映射类型,它通过 键值对实现元素存取,具有无序、可变长度、异构、嵌套和可变类型容器等特点。

格式:键和值有单引号,他们成对出现,中间用冒号分割,每对直接用逗号分割,并放置在花括号中。

dictname = { '键1':'值1','键2':'值2','键3':'值3'}

1

1dictname = { '键1':'值1','键2':'值2','键3':'值3'}

3.1 同一个字典中,键应该是唯一的;

3.2 同一个键被两次或多次赋值,只有最后一次赋值时有意义的。

sample_dict = {'Model': 'PC', 'Brand': 'Lenovo', 'Brand': 'Thinkpad'} # Brand 赋值为 Thinkpad

1

1sample_dict = {'Model': 'PC', 'Brand': 'Lenovo', 'Brand': 'Thinkpad'} # Brand 赋值为 Thinkpad

3.3 支持嵌套

3.4 取字典中的值: dictname[键]

3.5 使用包含嵌套的字典:

print ("sample_dict5['office']: ", sample_dict5['office'])

sample_dict5['office']: {'room1': 'Finance', 'room2': 'logistics'} #输出键为office 的值

3

1print ("sample_dict5['office']: ", sample_dict5['office'])

2sample_dict5['office']: {'room1': 'Finance', 'room2': 'logistics'} #输出键为office 的值

3

3.6 修改字典中的值 : 直接赋值即可。

3.7 向字典末尾追加新的键值,直接赋值即可

3.8 删除元素和字典

del dictname[键]:删除字典中的值

del dictname :删除字典

3.9 内置函数和方法

函数说明

len(distname)计算键的总数

str(distname)输出字典

type(distname)返回字典类型

方法说明

dictname.clear()删除字典所有元素,清空字典

dictname.copy()以字典类型返回某个字典的浅复制

dictname.fromkeys(seq[,value])创建一个新字典,以序列中的元素做字典的键,值为字典所有键对应得初始值

dictname.get(value , default=None)返回指定键的值,如果值不在字典中返回default值

key in dictname如果键在字典dict里返回true,否则返回false

dictname.items()以列表返回可遍历的(键、值)元组数组

ditname.keys()将一个字典所有的键生成列表并返回

dictname.setdefault(value,default=None)和dictname.get()类似,不同点是,如果键不存在与字典中,将会添加键并将值设为default

dictname.update(dictname)把字典dictname的键 / 值对更新到dictname里

dictname.values()以列表返回字典中的所有值

dictname.pop(key[,default])弹出字典给定键所对应的值,返回值为被删除的值。键值必须给出,否则,返回default

dictname.popitem()弹出字典中的一对键和值,并删除

四、集合(set)

集合是一种集合类型,可以理解为就是数学里的集合。它是一个可以表示任意元素的集合,它的索引可以通过另一个任意键值的集合进行,它可以无序排列、哈希。

集合分为两种:可变集合(set),不可变集合(frozenset)。

可变集合,在被创建后,可以通过很多种方法被改变,例如add(),update() 等。

不可变集合,由于其不可变特性,它是可哈希(hashable,意味一个对象在其生命周期中,其哈希值不会改变,并可以和其他对象做比较),也可以作为一个元素被其他集合使用,或者作为字典的键。

创建集合:使用大括号 {} 或者 set() 创建非空集合

sample_set = { 值1, 值2, 值3, }

1

1sample_set = { 值1, 值2, 值3, }

4.1 创建空集合是必须使用 set() ,格式:emptyset = set()

4.2 集合中的元素不能保存重复的元素;

4.3 集合是无序的,因此没有索引或键来指点调用某个元素,单可以使用for循环输出集合中的元素;

4.4 添加元素,可以是用 add() 方法,即把需要添加的内容作为一个元素(整体),加入到集合中,格式为:setname.add()

添加多个元素可以用 update() 方法,将另一个类型中的元素拆分后,添加到原集合中

4.5 集合可以被用来做成员测试,使用 in 或 not in 检查某个元素是否属于某个集合;

4.6 集合可以做集合运算,求差集(difference),并集(union)、交集(intersection)、对称差集(symmetric difference)

4.7 删除元素和集合:setname.remove()

del setname

4.8 集合的方法

方法说明

len(s)返回集合元素的个数

x in s测试 X 是否是集合 s 中的元素,返回 True 或 False

x not in s如果 x 不在集合 s 中,返回True,否则返回 False

s.isdisjoint(otherset)

s <= otherset当集合 s 与另一个集合 otherset 不相交时,返回 True,否则返回 False

s < otherset集合 s 是另一个集合otherset 的真子集,返回 True,否则返回 False

s.isuperset(otherset)

ss >= otherset集合 s 是另个一集合otherset 的父集,返回True,否则返回 False

s.union(*othersets) 或

s | otherset1 | otherset2返回 s 和othersets的并集,包含有set和othersets的所有元素

s.intersection(*othersets)

s & otherset1 & otherset2返回 s 和othersets的交集,包含在 s 并且也在othersets中的元素

s.difference(*othersets)

s-otherset1 - otherset2...返回 s 与othersets的差集,只包含在 s 中但不在othersets中的元素

s.symmetric_difference(otherset)

set^otherset返回 s 与otherset的对称差集,只包含在 s 中但不在othersets中,和不在ss中但在othersets中的元素

s.copy()返回集合 s 的浅拷贝

s.update(*othersets) 或

s |= otherset1 | otherset2...将另外的一个集合或多个集合元素,添加到集合s 中

s.intersecetion_update(*othersets)或set &= otherset1 & otherset2在 s 中保留它与其他集合的交集

s.difference_update(*othersets)或 s -= otherset1 | otherset2从 s 中移除它与其他集合的交集,保留不在其他集合中的元素

s.symmetric_difference_update(otherset) 或 s ^= otherset集合 s 与另一集合otherset交集的补集,将结果返回到 s

s.add(元素)向集合 s 中添加元素

s.remove(元素)从集合 s 中移除元素,如果该元素不在 s 中,则报告KeyError

s.discard(元素)从集合 s 中移除元素,如果该元素不在 s 中,则什么都不做

s.pop()移除并返回集合 s 中的任一元素,如果 s 为空,则报告KeyError

s.clear()清空集合 s 中所有元素

不可变数据类型有四个:数字(Numbers)、字符串(Strings)、元组(Tuples)、集合(Set);

元素可变的数据类型有两个:列表(Lists)、字典(Dictionary)。其中,列表是Python 中使用最为频繁的数据类型之一。

一切语言的基础就是数据类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值