列表与元组

1. list()函数

list() 函数把一个序列类型转换成一个列表,适用于所有类型的序列,而不只是字符串。。

list(‘hello’)   >>>[‘h’, ‘e’, ‘l’, ‘l’, ‘o’]

2. 改变列表:元素赋值

使用索引标记来为某个特定的、位置明确的元素赋值,但是不能为不存在的位置的元素进行赋值。。

x = [1, 1, 1]  

x[1] = 2

print(x)   >>> [1, 2, 1]

3. 删除元素

从列表中删除元素也很容易:使用 del 语句来实现。

 

  1. >>> names = [‘Alice’, ‘Beth’, ‘Cecil’, ‘Dee-Dee’, ‘Earl’]
  2. >>> del names[2]
  3. >>> names
  4. [‘Alice’, ‘Beth’, ‘Dee-Dee’, ‘Earl’]

除了删除列表中的元素,del 语句还能用于删除其他元素。

4. 分片赋值

 

  1. >>> name = list(‘Perl’)
  2. >>> name
  3. [‘P’, ‘e’, ‘r’, ‘l’]
  4. >>> name[2:] = list(‘ar’)
  5. >>> name
  6. [‘P’, ‘e’, ‘a’, ‘r’]

在使用分片赋值时,可以使用与原序列不等长的序列将分片替换:

 

  1. >>> name = list(‘Perl’)
  2. >>> name[1:] = list(‘ython’)
  3. >>> name
  4. [‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]

分片赋值语句可以在不需要替换任何原有元素的情况下插入新的元素。

 

  1. >>> numbers = [1, 5]
  2. >>> numbers[1:1] = [2, 3, 4]
  3. >>> numbers
  4. [1, 2, 3, 4, 5]

通过分片赋值来删除元素也是可行的。

 

  1. >>> numbers
  2. [1, 2, 3, 4, 5]
  3. >>> numbers[1:4] = []
  4. >>> numbers
  5. [1, 5]

三、列表方法

方法是一个与某些对象有紧密联系的函数。一般,方法可以这样进行调用:

对象.方法(参数)

除了对象被放置到方法名之前,并且两者之间用一个点号隔开。

1. append

append方法用于在列表末尾追加新的对象:

 

  1. >>> lst = [1, 2, 3]
  2. >>> lst.append(4)
  3. >>> lst
  4. [1, 2, 3, 4]

append方法和其他一些方法类似,只是在恰当位置修改原来的列表。这意味着,它不是简单地返回一个修改过的新列表——而是直接修改原来的列表。

2. count

count 方法统计某个元素在列表中出现的次数:

 

  1. >>> [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’].count(‘to’)
  2. 2
  3. >>> x = [[1,2], 1, 1, [2, 1, [1, 2]]]
  4. >>> x.count(1)
  5. 2
  6. >>> x.count([1,2])
  7. 1

3. extend

extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。

 

  1. >>> a = [1, 2, 3]
  2. >>> b = [4, 5, 6]
  3. >>> a.extend(b)
  4. >>> a
  5. [1, 2, 3, 4, 5, 6]

extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。

 

  1. >>> a = [1, 2, 3]
  2. >>> b = [4, 5, 6]
  3. >>> a.extend(b)
  4. >>> a
  5. [1, 2, 3, 4, 5, 6]
  6. >>>
  7. >>> a + b
  8. [1, 2, 3, 4, 5, 6, 4, 5, 6]
  9. >>> a
  10. [1, 2, 3, 4, 5, 6]

4. index

index 方法用于从列表中找出某个值第一个匹配项的索引位置:

  1. >>> knights = [‘We’, ‘are’, ‘the’, ‘knights’, ‘who’, ‘say’, ‘ni’]
  2. >>> knights.index(‘who’)
  3. 4

当搜索不存在的值时,就会引发一个异常。

5. insert

insert 方法用于将对象插入到列表中:

 

  1. >>> numbers = [1, 2, 3, 5, 6, 7]
  2. >>> numbers.insert(3, ‘four’)
  3. >>> numbers
  4. [1, 2, 3, ‘four’, 5, 6, 7]

6. pop

pop 方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值:

 

  1. >>> x = [1, 2, 3]
  2. >>> x.pop()
  3. 3
  4. >>> x
  5. [1, 2]
  6. >>> x.pop(0)
  7. 1
  8. >>> x
  9. [2]

pop方法是唯一一个即能修改列表又返回元素值(除了None)的列表方法。

7. remove

remove 方法用于移除列表中某个值的第一个匹配项:

 

  1. >>> x = [‘to’, ‘be’, ‘or’, ‘not’, ‘to’, ‘be’]
  2. >>> x.remove(‘be’)
  3. >>> x
  4. [‘to’, ‘or’, ‘not’, ‘to’, ‘be’]
  5. >>> x.remove(‘bee’)
  6. Traceback (most recent call last):
  7.   File “<stdin>”, line 1, in <module>
  8. ValueError: list.remove(x): x not in list

只有第一次出现的值被移除,而不存在与列表中的值是不会移除的。

remove 是一个没有返回值的原位置改变方法。它修改了列表却没有返回值。

8. reverse

reverse 方法将列表中的元素反向存放。

 

  1. >>> x = [1, 2, 3]
  2. >>> x.reverse()
  3. >>> x
  4. [3, 2, 1]

该方法改变了列表但不返回值。

9. sort

sort 方法用于在原位置对列表进行排序。

 

  1. >>> x = [4, 6, 2, 1, 7, 9]
  2. >>> x.sort()
  3. >>> x
  4. [1, 2, 4, 6, 7, 9]

sort 方法修改了 x 却返回了空值。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值