一、定義列表
我們可以采用如下方式定義列表:
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