Python元组的基本概念_Python自学第二十五节

2022-12-27 14:50:29 浏览数 (3)

Python元组的基本概念:元组与列表类似,不同之处在于元组中的数据只能被调用不能被修改,元组使用小括号 ( ) 表示。如果元组里只有一个元素,需要向元素后边加上 逗号 “,”表示此为元组

  • 使用tuple()函数可以将其他序列转换为元组。
  • 元组没有append()、extend()、remove()、pop等方法。
  • 通过tuple()函数可以将列表冻结,而使用list()函数可以将元组融化
  • 元组的访问和处理速度比列表要快,如果对大量数据进行遍历,而不需要对其中的元素进行任何修改,那么建议使用元组而不是列表。
  • 元组通常用于为函数传递参数,从而防止在函数中修改参数。
代码语言:javascript复制
>>> a = (1)
>>> a
1
>>> a = (1,)   #当只有一个元素,需要向元素后边加上 ,号表示为元组
>>> a
(1,)

>>> b
[1, 2, 3, 4, 5, 'a', 'b', 'c']   #此时b列表是可以修改的
>>> a = tuple(b)   #把列表用tuple转换成元组,则不能进行修改,可以转换成列表进行更改
>>> a
(1, 2, 3, 4, 5, 'a', 'b', 'c')   #此时元组的内容是无法进行修改的

练习:

过滤敏感词,把敏感词替换为*,敏感词:非法、暴力、攻击。

代码语言:javascript复制
#!/usr/bin/python3
txt = input('请输入你想说的话:')   #输入任意内容
keyword = ('非法','暴力','攻击')   #设置敏感词
for i in keyword:   #i在keyword内循环
  if i in txt:   #如果i的值在keyword
    txt=txt.replace(i,'***')   #则利用.replace将txt内等于i的值替换成***
print(txt)   #最后输出txt

zip()函数

  • zip()函数可以将多个可迭代的对象中的元素进行组合,得到一个个元组,也被称为拉链函数。
  • 如果两个序列的长度不一致,zip()函数在最短序列"用完"时就会停止,以最短序列的长度进行"配对"。
代码语言:javascript复制
>>> a = '12345'
>>> b = 'abcde'
>>> list(zip(a,b))   #得到一对一对的元组
[('1', 'a'), ('2', 'b'), ('3', 'c'), ('4', 'd'), ('5', 'e')]
>>> list(zip(range(4),b))   #取值编号0~3的三个字符,共计四个字符,所以对应b变量的4个
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]

如进行以下操作,将1~10和10~1进行相加:

代码语言:javascript复制
>>> a = list(range(1,11))
>>> b = list(range(10,0,-1))
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> b
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> for m,n in zip(a,b):   #用两个循环变量分别在a和b中循环取值
...     print(m n,end=' ')   #输出每次循环m n的值
... 
11 11 11 11 11 11 11 11 11 11 >>> 
>>> for m,n in zip(a,b):
...     print(m*3 n*2,end=' ')   #循环输出输出m*3 n*2
... 
23 24 25 26 27 28 29 30 31 32

[em]zip函数不仅只能处理2个参数,参数可以是任意个,也可以是任意参数如(元组、列表),不过最后能够组合出来的元素数量是由最短的那个参数决定的。[/em]

代码语言:javascript复制
>>> list(zip(a,b,['h','a','l','l','o'],('P','y','t','h','o','n'),range(100,110)))   #次例含有列表,元组,字符串,数值
[(1, 10, 'h', 'P', 100), (2, 9, 'a', 'y', 101), (3, 8, 'l', 't', 102), (4, 7, 'l', 'h', 103), (5, 6, 'o', 'o', 104)]

0 人点赞