python学习---元祖和集合

本文详细介绍了Python中元组和集合的基本概念与使用方法。包括元组的特点、元组与列表的区别、元组与集合之间的类型转换,以及集合的操作如添加、删除、成员关系和集合关系等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

元组:

**

1、特点:

1、**有序**的集合
2、通过**偏移**来取数据
3、属于**不可变**的对象,**不能在原地(对象本身)修改**内容,没有排序,修改等操作。
4、形式:a=(1,2,3,4)

Q:那为什么有列表还要有元组呢?
元组不可变的好处:保证数据的安全,比如我们传给一个不熟悉的方法或者数据接口,确保方法或者接口不会改变我们的数据从而导致程序问题。

2、tuple(元祖)类型转换

    a =[1,2,3,4]
    b = tuple(a)
    print b ----> (1,2,3,4)
    同样的 tuple转成list。
    print list(b) ----> [1,2,3,4]

集合:

1、特点:

 (1)集合是没有顺序的概念。所以不能用切片和索引操作。
     (判断2个集合是否相等,之和元素本身有关,和顺序无关。)
 (2)互异性(集合你不存在两个相同的元素)
 (3)可迭代

2、使用方法

    (1)创建集合:
            set():可变的 
                eg: a = set ('lpc')
                    print a ---> ('l','c','p')
            frozenset():不可变的
    (2)添加操作:
            add:添加一个字符串
                eg:a.add('love')
                   print a ---> ('l','love','c','p')
            update:添加字符串中的元素
                eg:a.update('love')
                    print a --->('l','c','o','v','p','e')//注意此处一共有六个元素,而不是七个
    (3)删除
        remove  a.remove(value)
    (4)成员关系
        in /  not in
    (5)集合关系
        交集 & :a & b
        并集 | :a | b
        差集 - :a - b
### Python集合元组的用法及区别 #### 元组 (Tuple) 元组是一种不可变的数据结构,一旦创建就不能修改其内容。可以直接使用小括号`()`来定义元组,不过实际上即使不加小括号仅靠逗号分隔也能构成元组[^1]。 ```python tup_example = 1, 2, 3, "a", "b" print(tup_example) # 输出: (1, 2, 3, 'a', 'b') ``` 由于元组的不可变特性,在处理不需要更改数据的情况下效率更高;而且因为这种不变性,使得元组能够作为字典键值或被加入到其他集合类型的容器中去。 #### 集合 (Set) 相比之下,集合是一个无序且不允许重复元素存在的可变序列类型。可以通过大括号`{}`或者内置函数`set()`来构建集合对象[^4]。 ```python set_example = {1, 2, 3} another_set = set([4, 5, 6]) print(set_example | another_set) # 输出: {1, 2, 3, 4, 5, 6} (两个集合合并) ``` 对于集合而言,提供了诸如交集(`&`)、并集(`|`)、差集(`-`)等一系列数学运算的支持,并可通过`.issubset()`, `.issuperset()`等方法来进行子集/超集关系检测[^3]。 #### 主要差异总结 - **有序 vs 无序**: 元组保持成员间的顺序而集合则不会; - **允许重复项**: 只有元组支持相同元素多次出现于其中; - **变更能力**: 创建之后无法改变的是元组,但可以随时向集合内添加新成员或是从中移除已有项目; - **性能考量**: 对于查找特定元素的操作来说,通常情况下集合会比元组更快一些。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值