一、定义列表
我们可以采用如下方式定义列表:
languages = ['Python', 'Java', 'C', 'C++', 'PHP']
可以使用languages [index]
的方式访问列表中的元素,index
从0
开始,可以为负数
,-1
表示最后一个元素,-2表示倒数第二个元素,以此类推。
# 定义列表
languages = ['Python', 'Java', 'C', 'C++', 'PHP']
print languages
# 访问列表中的元素
print languages[1]
print languages[-1]
print languages[-2]
image.png
二、修改列表中的元素
使用languages [index]=value
的方式修改列表中的元素。例如,我们想将第三元素改为C#
,可以使用下面的方式。
# 定义列表
languages = ['Python', 'Java', 'C', 'C++', 'PHP']
print languages
# 改变列表中元素的值
languages[2] = 'C#'
print languages
image.png
三、给列表添加元素
添加元素有append()
和insert()
两种方法,其中append()
是在列表的最后追加元素,insert()
是在列表的任意位置插入元素。
# 定义列表
languages = ['Python', 'Java']
print languages
# 给列表添加元素
languages.append("C")
languages.append("C++")
languages.append("PHP")
print languages
languages.insert(1, "Objective-C")
print languages
image.png
四、删除列表中的元素
可以通过del语句
、pop()
和remove()
删除元素。
-
del语句
删除元素时没有返回值,使用方式:del languages[index]
,index
表示索引。 -
pop(index)
删除元素时会将删除的元素返回,index
表示索引,如果不传表示最后一个元素。 - 如果我们不知道元素的索引位置,但是知道元素的值,可以采用
remove()
的方式删除元素。
# 定义列表
languages = ['Python', 'Java', 'C', 'C++', 'PHP']
print languages
# 删除元素
del languages[1]
print languages
pop0 = languages.pop(0)
print languages
pop1 = languages.pop()
print languages
languages.remove('C++')
print languages
print 'pop0 = ' + pop0 + ", pop1 = " + pop1
image.png
五、排序与反转
可以通过sort()
和sorted()
对列表进行排序。其中sort()
是对原列表排序,排序后不能恢复到元序列。sorted()
排序后生成一个新的序列,不改变原序列的顺序。我们也可以通过传入参数reverse=True
来实现反序排列。
可以通过reverse()
将原列表反转,如果要获得原列表需要再次调用reverse()
。
-
sort()
正序cities = ["BeiJing", "ShangHai", "GuangZhou", "ChengDu", "Xi'an"] print cities # 正序 cities.sort() print cities
image.png -
sort()
反序cities = ["BeiJing", "ShangHai", "GuangZhou", "ChengDu", "Xi'an"] print cities # 反序 cities.sort(reverse=True) print cities
image.png -
sorted()
cities = ["BeiJing", "ShangHai", "GuangZhou", "ChengDu", "Xi'an"] print "original list: " print cities # sorted print "\nsorted list: " print sorted(cities) print "\noriginal list again: " print cities
image.png
注意:sorted()
属于内置函数而非列表的属性。 -
reverse()
cities = ["BeiJing", "ShangHai", "GuangZhou", "ChengDu", "Xi'an"] print "original list: " print cities # reverse cities.reverse() print "\nreverse list: " print cities # reverse again cities.reverse() print "\noriginal list again: " print cities
image.png