元素赋值、增加元素和删除元素

1、元素赋值

 1 #我们前面学习过赋值语句,赋值语句是最简单地改变列表的方式,如 a=2 就是一种改变列表的方式。这里我们将通过编号标记某个特定位置的元素,并对该位置的元素重新赋值,如a[1]=10.例:
 2 >>> a=[1,2,3,2,1]
 3 >>> a[1]=10
 4 >>> a
 5 [1, 10, 3, 2, 1]
 6 >>> a[3]=10
 7 >>> a
 8 [1, 10, 3, 10, 1]
 9 #元素编号从0开始,1对应的是2,3对应的是也是2.
10 
11 #从上面的输出结果可以得知,我们可以根据编号对列表中某个元素重新赋值。既然可以重新赋值,是否可以赋不同类型的值呢?例:
12 >>> a[2]='hello'    
13 >>> a
14 [1, 10, 'hello', 10, 1]
15 >>> type(a[2])
16 <class 'str'>
17 >>> type(a[1])
18 <class 'int'>
19 >>> type(a)
20 <class 'list'>
21 #由上面的输出结果可以得知,可以对一个列表中的元素赋不同类型的值。比如上面的示例,列表a中既有int类型的值,也有str类型的值。
22 
23 #假如对列表赋值时使用的编号超过了列表中的最大编号,是否还可以赋值呢?
24 >>> tring=[1,2,3]
25 >>> tring[3]='hello'
26 Traceback (most recent call last):
27   File "<pyshell#34>", line 1, in <module>
28     tring[3]='hello'
29 IndexError: list assignment index out of range
30 #由上面的示例中,tring的最大编号是2,当给编号为3的元素赋值时就会出错。由此得知:不能为一个不存在的元素的位置赋值。如果一定要赋值,前面学习的序列通用操作中的乘法可以帮助我们:
31 >>> tring=[None]*5
32 >>> tring[3]='hello'
33 >>> tring
34 [None, None, None, 'hello', None]
35 #由以上输出结果可以得知,可以对初始化过的位置进行赋值

2、增加元素

 1 #由元素赋值的示例可以看到,不能为一个不存在的位置赋值。一旦初始化了一个列表,就不能再往这个列表中增加元素了。若需要往列表中增加元素,则需要将整个列表中的元素都复制一遍,再添加需要增加的元素。Python中是否提供了对应的方法帮助我们做这件事情呢?
 2 >>> tring=[1,2,3]
 3 >>> tring.append(4)
 4 >>> tring
 5 [1, 2, 3, 4]
 6 #由示例可以看到,可以使用append()方法解决前面的困惑。append()方法是用于在列表末尾添加新对象的方法。该方法的语法如下:
 7 list.append(obj)
 8 #此语法中list代表列表,obj代表需要添加到list列表末尾的对象。
 9 #由前面的输出结果得知:append()方法不是简单地返回一个修改过的新列表,而是直接修改原来的列表。例:
10 >>> tring=[1,2,3]
11 >>> tring.append('hello')       #添加字符串
12 >>> tring
13 [1, 2, 3, 'hello']
14 >>> s=['a','b','c']
15 >>> s
16 ['a', 'b', 'c']
17 >>> s.append(3)                   #添加数值
18 >>> s
19 ['a', 'b', 'c', 3]
20 #由上面的示例可以得知:可以往数字序列中添加字符串,也可以往字符串序列中添加数字。

3、删除元素

 1 #既然可以增加元素,是否可以删除元素呢?示例如下:
 2 >>> tring=['a','b','c','d','e']
 3 >>> len(tring)
 4 5
 5 >>> del tring[1]
 6 >>> print('删除第二个元素:',tring)
 7 删除第二个元素: ['a', 'c', 'd', 'e']
 8 >>> len(tring)
 9 4
10 #由上面的示例看到,可以使用del删除列表中的元素。上面的示例使用del删除了tring列表中的第二个元素,删除元素后,原来有5个元素的列表变成了只有4个元素的列表。使用del除了可以删除列表中的字符,也可以删除列表中的数字,示例如下:
11 >>> numbers=[1,2,3]
12 >>> len(numbers)
13 3
14 >>> del numbers[2]
15 >>> print('删除第3个元素:',numbers)
16 删除第3个元素: [1, 2]
17 >>> len(numbers)
18 2
19 #上面的输出结果已经从数字列表中删除了对应的数字。

end

原文地址:https://www.cnblogs.com/DLHe/p/7685264.html