Python 内置了两种有序列表,他们分别是:list 和 tuple。
list的特点:list是一种有序集合,可以随时添加和删除其中元素。
tuple的特点:tuple也是一种有序集合,但是tuple一旦初始化就不能修改。
先学习List:
定义一个编程语言的list :
>>> languages = ["java" , "C" , "Python"]
>>> languages
['java', 'C', 'Python']
变量 languages 就是一个 list变量。
如何才能知道这个list 中有多少元素呢?可以使用函数 len( )
>>> len(languages)
3
如何才能访问 list中得元素呢?list提供了和数组一样的角标,来进行元素的访问,注意不要角标越界,否则也会报错。如下所示:
>>> languages[0]
'java'
>>> languages[1]
'C'
>>> languages[2]
'Python'
>>> languages[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>>
如何向list中添加数据呢?有两种方式:
第一种,直接添加到list的末尾,使用函数:append( )。
>>> languages.append("C++")
>>> languages
['java', 'C', 'Python', 'C++']
第二种,添加到指定位置,使用函数:insert( 1 , "Ruby")。
>>> languages.insert(1 , "Ruby")
>>> languages
['java', 'Ruby', 'C', 'Python', 'C++']
如何删除list 中得元素呢? 有三种方式:
第一种,删除list末尾的元素,用方法pop( )。
>>> languages
['java', 'Ruby', 'C', 'Python', 'C++']
>>> languages.pop()
'C++'
>>> languages
['java', 'Ruby', 'C', 'Python']
>>>
第二种,删除指定位置的元素,用pop(i)
>>> languages
['java', 'Ruby', 'C', 'Python']
>>> languages.pop(2)
'C'
>>> languages
['java', 'Ruby', 'Python']
>>>
第三种,直接用元素替换掉它。languages[ 1 ] = "c#"
>>> languages
['java', 'Ruby', 'Python']
>>> languages[1] = "C#"
>>> languages
['java', 'C#', 'Python']
list还有一个最大的特点是,它里面的元素可以是不同类型的,比如:
>>> languages = ['java' , 'c' , ['html', 'css','JavaScript'],2,True]
>>> languages
['java', 'c', ['html', 'css', 'JavaScript'], 2, True]
如果一个list中一个元素也没有, 就是一个空的list,它的长度为0:
>>> languages = []
>>> len(languages)
0
下面学习 tuple:
tuple同样可以用角标进行访问元素。在使用 tuple的时候,元素能确定下来最好确定下来。
定义一个tuple:
>>> languages = ('hello' , True , 3)
>>> languages
('hello', True, 3)
>>>
如何定义一个空的tuple?
>>> t = ()
>>> t
()
如何定义一个,只有一个元素的tuple?
>>> t = (1,)
>>> t
(1,)
>>>
总之,list和tuple是Python内置的有序集合,一个是可变,一个不可变。根据需要选择使用哪个有序结合。
在定义list的时候,用得是 [ ] ,中括号。
在定义tuple的时候,用得时 ( ) , 圆括号。