W3Schools-Python基础3

  1. Python中的元祖-Tuples

    python中的元组是有序的、不可改变的(一旦被创建,无法改变、增加、移除元组中的元素)、允许重复值、用圆括号括住

    元组的很多用法都与列表一致,如通过索引访问元组元素、通过len()获取元组的长度、合并元组等

     1#更改元组
    2#由于元组一经创建便不可再更改,因此只能通过某些特殊方式来更改元组的元素
    3#将元组转为列表再进行修改
    4test=('a','b','c')
    5new=list(test)
    6print(new)#结果为['a', 'b', 'c']
    7new[0]='A'
    8print(new)#结果为['A', 'b', 'c']
    9test=tuple(new)
    10print(test)#结果为('A','b','c')

    python中创建元组时对其赋值的过程叫做“packing” a tuple,相反,也可以“unpacking” a tuple

     1#packing a tuple
    2fruits=c('apple','banana','lemon')
    3print(fruits)#结果为('apple','banana','lemon')
    4#unpacking a tuple,注意提供的变量数目需与元组的长度相等
    5(fruit1,fruit2,fruit3)=fruits
    6print(fruit1)#结果为apple
    7print(fruit2)#结果为banana
    8print(fruit3)#结果为lemon
    9
    10#如果元组有5个元素,赋值给3个变量,则需要用到*,多出的元素被合并为一个列表
    11fruits=c('apple','banana','cherry','orange','lemon')
    12(fruit1,fruit2,*fruit3)=fruits
    13print(fruit1)#结果为apple
    14print(fruit2)#结果为banana
    15print(fruit3)#结果为['cherry','orange','lemon']
    16(fruit1,*fruit2,fruit3)=fruits
    17print(fruit1)#结果为apple
    18print(fruit2)#结果为['banana','cherry','orange']
    19print(fruit3)#结果为['lemon']
  2. Python中的集合-Sets

    python中的集合是无序的(每次访问,顺序都会改变)、没有索引的(无法通过索引访问元素)、不可改变的(这里的不可改变是指无法改变元素内容,但可以增加或删减元素)、没有重复值的、集合用{}声明

    添加、删减元组元素

     1#用add()添加单个元素
    2test={'a','b','c'}
    3test.add('d')
    4print(test)#结果为{'a', 'd', 'b', 'c'}
    5#用update()添加多个元素
    6test={'a','b','c'}
    7add1=['x','y']
    8add2=('m','n')
    9test.update(add1)
    10print(test)#结果为{'y', 'b', 'x', 'a', 'c'}
    11test.update(add2)
    12print(test)#结果为{'y', 'b', 'x', 'a', 'm', 'n', 'c'}
    13#用remove()或discard()移除单个元素
    14test={'a','b','c','d','e'}
    15test.remove('a')
    16print(test)#结果为{'b', 'c', 'e', 'd'}
    17test.discard('d')
    18print(test)#结果为{'b', 'c', 'e'}
    19#利用pop()随机删除一个元素
    20test.pop()
    21print(test)#结果为{'c', 'e'}
    22#利用clear()清空集合
    23test.clear()
    24print(test)#结果为set()

    合并两集合,集合不允许存在重复值

     1#用union()或update()对两集合取并集,并去除重复值
    2set1={1,2,3,'a'}
    3set2={'a','b','c'}
    4set3=set1.union(set2)
    5print(set3)#结果为{1, 2, 3, 'a', 'b', 'c'}
    6set1.update(set2)
    7print(set1)#结果为{'b', 1, 2, 3, 'c', 'a'}
    8
    9#用intersection_update()保留两集合的交集
    10set1={'a','b','c'}
    11set2={'b','d','e'}
    12set1.intersection_update(set2)
    13print(set1)#结果为{'b'}
    14#用intersection()创建新集合,包含两集合的交集
    15set1={'a','b','c'}
    16set2={'b','d','e'}
    17new=set1.intersection(set2)
    18print(new)#结果为{'b'}
    19
    20#用symmetric_difference()创建新集合保留两集合中各自存在的元素
    21set1={'a','b','c'}
    22set2={'b','d','e'}
    23new=set1.symmetric_difference_update(set2)
    24print(new)#结果为{'c', 'e', 'a', 'd'}
    25#用symmetric_difference_update()保留两个集合中各自存在的元素
    26set1={'a','b','c'}
    27set2={'b','d','e'}
    28set1.symmetric_difference_update(set2)
    29print(set1)#结果为{'c', 'e', 'a', 'd'}
    30
    31#用difference()或difference_update()取出集合1中未在集合2出现的元素
    32set1={'a','b','c'}
    33set2={'b','d','e'}
    34set1.difference_update(set2)
    35print(set1)#结果为{'a', 'c'}
    36set1={'a','b','c'}
    37set2={'b','d','e'}
    38new=set1.difference(set2)
    39print(new)#结果为{'a', 'c'}
    40#注意diffenence()与difference_update()不同,difference()是返回一个新的集合,而difference_update()则是直接对set1进行升级

    判断集合1和集合2中是否存在相同元素

     1#用isdisjoint()检验是否集合2中不存在集合1的元素
    2set1={1,2,3}
    3set2={'a','b','c',1}
    4setA={1,2,3}
    5setB={1,2,3,4,5}
    6print(set1.isdisjoint(set2))#结果为False
    7#用issubset()检验是否集合A中的元素完全位于集合B中
    8print(setA.issubset(setB))#结果为True
    9#用issuperset()检验是否集合B中的元素完全位于集合A中
    10print(setA.issuperset(setB))#结果为False


原文始发于微信公众号(BioInfo):W3Schools-Python基础3

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238188.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!