元组和集合

文章目录

元组

1、元组是以小括号括起来的数据形式,且元组不可进行修改,故对元组,只能进行查询

my_tuple = (1,2,3,'hi')

2、元组内可以放置任何格式的数据,且可以通过下标获取里面的元素。用 元组名[下标] 的方式获取。下标从0开始,也可以用负数下标

my_tuple = (1,2,3,'hi')
print(my_tuple[0])
print(my_tuple[-1])

3、如元组内存在可变类型数据(如列表),那么可以对该可变类型数据进行修改。但是这里需要注意,改变的是这个可变数据元素的内容,元组内的元素并没有改变

my_list = [5,6,7]
my_tuple = (1,2,3,my_list)
my_list[1] = 'hi'
print(my_tuple)  -> 输出(1, 2, 3, [5, 'hi', 7])

4、如元组内只用一个元素,需在该元素后加上逗号,否则将会被认为是括号内元素的数据类型

my_tuple = ('hello',)  ->数据类型为tuple
my_tuple1 = ('hi')  -> 数据类型为str

5、返回元组中元素的下标,用 .index(指定数据)

my_tuple = (1,2,'hi',3.14)
print(my_tuple.index('hi'))

6、计算元组内某一元素出现的次数,用 .count(指定数据)

my_tuple = (1,2,'hi',3.14,1)
print(my_tuple.count(1))

7、用 for…in 的方式可以对元组进行遍历

my_tuple = (1,2,'hi',3.14,1)
for i in my_tuple:
    print(i)

8、通过遍历同时获取元组内元素和对应下标,可以用

my_tuple = (1,2,'hi',3.14,1)
for index,value in enumerate(my_tuple):
    print(index,value)

9、创建空元组,直接给元组名赋值内容为空的一对小括号即可

my_tuple = ()
print(type(my_tuple))  -> 数据类型为tuple

集合

1、集合是以大括号括起来的数据形式,可以在集合内填写任意数据类型。字典也是用大括号,但字典内的数据必须为键值对

2、集合内的数据不能重复,且数据是无序的(不能通过下标获取集合内的数据,也无法修改指定数据)

3、集合的增删查
:用 .add() 进行元素的添加

my_set = {1,2,'hi',3.14}
my_set.add(3)
print(my_set)

:可以用 .remove() 和 .discard() 两种方式

my_set = {1,2,'hi',3.14}
my_set.remove(1)
my_set.discard(2)
print(my_set)

两种方式都可以删除集合内的指定数据。差异在于,如指定删除的数据在集合内不存在,那么.remove()在运行时会报错;.discard()在运行时不报错,列表内元素不改变

:我们无法通过下标获取列表中的元素,可以用for…in的方式遍历出里面的元素

4、情况列表中的数据,可以用 .clear()

5、创建空集合时,不能直接给集合名之间赋值一对空的大括号,那是创建空字典的方法;要给集合名赋值 set()

my_set = set()
print(type(my_set))  -> 数据类型为set

6、list和set可以进行互换,可以用来进行列表的去重

list1 = [1,2,3,1]
my_set = set(list1)
list2 = list(my_set)
print(list2)  -> 输出[1, 2, 3]

7、求两个集合的交集,可以用 & 符号链接两个集合,或是用.intersection()

set1 = {1,2,3,4}
set2 = {1,3,5,7}
print(set1 & set2)
print(set1.intersection(set2))

8、求两个集合的并集,可以用 | 符号链接两个集合,或是用.union()

set1 = {1,2,3,4}
set2 = {1,3,5,7}
print(set1 | set2)
print(set1.union(set2))

9、集合之间用减号连接,即为作差,运行的结果受到集合作为减数或被减数时的影响

set1 = {1,2,3,4}
set2 = {1,3,5,7}
print(set1 - set2)  -> 输出{2, 4}
print(set2 - set1)  -> 输出{5, 7}

可见,两个集合相减,集合内相同的值消除,余下的值是作为被减数的集合去掉重复值后多出的元素。作为减数的集合,其值不会出现在结果中

一个总结

在列表、字典、元组、集合中,除元组为不可变类型数据外,其他三种皆为可变类型。当进行可变类型数据修改时,直接在原变量名后进行操作即可,原数据变化后,并不会返回一个新的列表、字典或集合,即没有返回值,不需要变量承接

猜你喜欢

转载自blog.csdn.net/weixin_44423669/article/details/86556036
今日推荐