Python自学—列表入门

列表

列表是按照特定顺序的排列组合,就像数学中的数列,列表中的元素具有一定的排列顺序。

在Python中,列表用方括号[ ]来表示列表,比如:

>>>a= ['Python','C','Java']

1 访问列表中的元素

索引开始:0

如果我们想要打印上述列表中的Python,就需要我们访问列表中的第一个元素。在Python中,列表的访问从0开始,索引数为元素的位置减去1,访问的元素位置放在方括号里面,如果我们想要访问第一个元素Python,则索引为0,即:

>>>a=['Python','C','Java']
>>>print(a[0])
Python

或者,在python中也可以逆序访问,比如

 >>>print(a[-3])

 Python

修改列表元素

在刚刚的列表中,如果我想把列表a中的第三个元素Java修改为R,则可以采用如下的命令:

>>>a[2]='R'  #Java在原来的列表中位置为3,所以索引为3-1=2
直接用赋值的命令(=)来修改列表中的元素,修改后,再试着打印原来的列表,看有没有修改成功。

>>>print(a)
['Python', 'C', 'R']
在列表中添加元素:append( )  insert( )

在列表末尾添加元素

在刚刚的列表末尾添加元素Ruby,使用方法append( )

>>>print(a)
['Python', 'C', 'R']

>>>a.append('Ruby')
>>>print(a)
['Python', 'C', 'R', 'Ruby']
在列表中添加元素

如果想把元素Ruby添加到Python后面,则需要使用方法insert( )。

>>>a=['Python', 'C', 'R']  #  重新定义列表,避免上一步的操作
>>>a.insert(1,'Ruby')  # 将Ruby添加到Python后
>>>print(a)
['Python', 'Ruby', 'C', 'R']
从列表中删除元素 : del语句 ,  remove( )  , pop( )

知道元素的位置,删除某个特定位置的元素用del语句

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>print(a)
['Python', 'Ruby', 'C', 'Java']

>>>del a[1] # 删除刚刚添加的Ruby
>>>print(a)
['Python', 'C', 'Java']
不知道元素的位置,但是知道要删除什么元素,使用方法remove( )   

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>print(a)
['Python', 'Ruby', 'C', 'Java']

>>>a.remove('Ruby')
>>>print(a)
['Python', 'C', 'Java']
如果想删除这个值并且继续使用它,可以使用方法pop( ),方法pop( )可以将原有列表中特定元素删除,并且可以将之赋值给新的变量。

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>print(a)
['Python', 'Ruby', 'C', 'Java']

>>>b=a.pop(1)
>>>print(a)
['Python', 'C', 'Java']

>>>print(b)
Ruby
2

组织列表

组织列表:方法sort( ) , 函数sorted( ) , 方法reverse( )

列表的永久性排序sort( )

使用方法sort( ) 可以对列表进行永久性排序

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>print(a)
['Python', 'Ruby', 'C', 'Java']

>>>a.sort()  # 按照字母顺序排序
>>>print(a)
['C', 'Java', 'Python', 'Ruby']

>>>a.sort(reverse=True)  #按照字母逆序排序
>>>print(a)
['Ruby', 'Python', 'Java', 'C']
列表的临时排序sorted( )

使用函数sorted( ) 可以对列表进行临时性排序

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>print(a)
['Python', 'Ruby', 'C', 'Java']

>>>sorted(a)  # 临时性排序
>>>print(a)  #看原来的列表排序有无改变
['Python', 'Ruby', 'C', 'Java']

>>>print(sorted(a))  # 打印出临时性排序的列表
['C', 'Java', 'Python', 'Ruby']
倒着打印列表

            

要倒着打印列表,可以用方法reverse( ),方法reverse永久性的修改了排列的元素

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>print(a)
['Python', 'Ruby', 'C', 'Java']

>>>a.reverse()
>>>print(a)
['Java', 'C', 'Ruby', 'Python']
确定列表的长度

           

可以用函数len( ) 确定列表的长度

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>len(a)
4
使用列表时避免索引错误

常见的索引错误包括:

1、忘记索引数是元素位置减去1

2、超出访问的列表索引

3、列表为空列表时,倒着访问列表a[-1]错误

注:当发生索引错误时,可以将列表长度打印出来观察是什么错误

3 操作列表——创建数值列表

使用range( )创建数字列表

可以使用函数range( ) 和函数list( ) 创建数字列表;

函数range( ) 可以生成一系列的数字,里面第一个参数是起始值,第二个参数表示不超过这个值的终止值,第三个参数表示步长,默认为1;

函数list( ) 可以将里面的参数转换为列表。

>>>c=list(range(1,10))
>>>print(c)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>>d=list(range(1,10,2))
>>>print(d)
[1, 3, 5, 7, 9]
对数字列表进行简单的统计计算

可以对数值列表进行简单的统计,例如最大值、最小值、总和。

>>>c=list(range(1,10))
>>>min(c)
Out[34]: 1

>>>max(c)
Out[35]: 9

>>>sum(c)
Out[36]: 45

4 操作列表——使用列表的一部分

切片

切片,相当于把列表其中的一部分切出来。要创建切片,可以指定第一个元素和最后一个元素的位置,切片到达第二个元素的前一个元素停止切片,类似于函数range( )

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>print(a[1:3])  #切片第2到第4
['Ruby', 'C']

>>>print(a[:2])  #不指定第一个元素,从开始切片到第3个元素
['Python', 'Ruby']

>>>print(a[2:])  #不指定最后一个元素,从第3切片到最后
['C', 'Java']

>>>print(a[-3:])  #倒着切片,倒数第三个到最后一个
['Ruby', 'C', 'Java']
复制列表

使用切片的方法来复制列表,会产生两个列表。如果使用赋值(=)的方法来复制列表,第二个列表仅仅是指向第一个列表,并没有复制。

>>>a=['Python', 'Ruby', 'C', 'Java']
>>>b=a[:]
>>>a.append('CSS')
>>>print(a)
['Python', 'Ruby', 'C', 'Java', 'CSS']

>>>print(b)
['Python', 'Ruby', 'C', 'Java']
采用赋值的方法来复制列表 

>>>a=['Python', 'Ruby','C', 'Java']
>>>b=a
>>>a.append('CSS')
>>>print(a)
['Python', 'Ruby', 'C', 'Java', 'CSS']

>>>print(b)
['Python', 'Ruby', 'C', 'Java', 'CSS']
发布了38 篇原创文章 · 获赞 1 · 访问量 2206

猜你喜欢

转载自blog.csdn.net/wulishinian/article/details/102820964