1. 列表的創(chuàng)建
列表(list)是Python中一個非常重要的類型,用于管理一組數(shù)據(jù)阱佛,列表的形式如下所示
country = ['China', 'Germany', 'Russia', 'America']
1.1 將一些數(shù)據(jù)寫入鏈表中要遵循以下規(guī)則:
1)數(shù)據(jù)包含在引號中台丛,Python中單引號和雙引號具有相同的作用
2)使用逗號分隔數(shù)據(jù)耍缴,整個列表包含在一個中括號中
3)適用賦值操作符將一個列表賦值給一個變量名如上述例子中的“country”, Python的變量名不需要聲明類型
1.2 創(chuàng)建一個空列表
country = []
2. 列表操作
列表不僅可以存放字符串這樣的數(shù)據(jù)挽霉,還可以存放混合類型的數(shù)據(jù)私恬,例如在列表中存儲列表
country = ['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America' ]
print(country)
print(country[1][2])
print(country[0:2])
>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America']
>>Shenzhen
>>['China', ['Beijing', 'Shanghai', 'Shenzhen']]
除了列表外還可以存儲字典和元組,字典和元組另作介紹
2.1 下標(biāo)操作
列表可以像數(shù)組那樣通過下標(biāo)獲取列表中的數(shù)據(jù)炼吴,數(shù)據(jù)類型---字符串
print(country[0])
>>China
2.2 切片
列表可以適用冒號“:”操作符選取列表中的一部分?jǐn)?shù)據(jù),選取出的數(shù)據(jù)成為切片疫衩,實際上是字列表硅蹦,但這些數(shù)據(jù)需要是連續(xù)的荣德。
此外數(shù)據(jù)可以正向取如示例中的“0 : 2”得到列表['China', 'Germany'], 也可以反向取如“-2:-1”
需要注意的是即使切片只取一個數(shù)據(jù)得到的也是一個列表童芹,而不是一個字符串涮瞻,與使用索引得到的數(shù)據(jù)是不同的
country = ['China', 'Germany', 'Russia', 'America']
print(country)
print(country[0:1])
print(country[0:2])
print(country[-2: -1])
>>['China', 'Germany', 'Russia', 'America']
>>['China']
>>['China', 'Germany']
>>['Russia']
2.3 append(self, p_object) & insert(self, index, p_object)
添加數(shù)據(jù)可以使用insert()
和append()
兩種方法,如下所示:
country = ['China', 'Germany', 'Russia', 'America']
country.insert(1, 'Grace')print(country)
country.append('Mexico')print(country)
>>['China', 'Grace', 'Germany', 'Russia', 'America']
>>['China', 'Grace', 'Germany', 'Russia', 'America', 'Mexico']
insert()
第一個參數(shù)確定插入的位置假褪,在這個位置之后插入需要插入的數(shù)據(jù)署咽, append()
將數(shù)據(jù)添加到列表的尾部
2.4 extend(self, iterable)
country = ['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America' ]
Eur = ['England', 'France']
country.extend(Eur)
print(country)
>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America', 'England', 'France']
2.5 index(self, value, start=None, stop=None)
從列表中找出某個值第一個匹配項的索引位置
country = ['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America' ]
print(country.index('Germany'))
print(country.index(['Beijing', 'Shanghai', 'Shenzhen']))
>>2
>>1
只能查找第一層數(shù)據(jù),如果差列表中的列表生音,需要將列表全部輸入宁否。函數(shù)中的start和stop用于確定搜索范圍
2.6 pop(self, index=None)
移除列表中的一個元素(默認(rèn)最后一個元素),并且返回該元素的值
country = ['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America' ]
print(country)
print(country.pop(-2))
print(country)
>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America']
>>Russia
>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'America']
2.7 remove(self, value)
移除列表中某個值的第一個匹配項
country = ['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America', 'Russia' ]
print(country)
country.remove('Russia')
print(country)
>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America', 'Russia']
>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'America', 'Russia']
2.8 reverse(self)
反向列表中元素
country = ['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America', 'Russia' ]
print(country)country.reverse()
print(country)
>> ['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America', 'Russia']
>>['Russia', 'America', 'Russia', 'Germany', ['Beijing', 'Shanghai', 'Shenzhen'], 'China']
2.9 sort(self, cmp=None, key=None, reverse=False)
對原列表進(jìn)行排序
country = ['China', 'Germany', 'Russia', 'America']
print(country)country.sort()print(country)
>>['China', 'Germany', 'Russia', 'America']
>>['America', 'China', 'Germany', 'Russia']