学习环境:
Ubuntu18.04系统 + Geany编辑器 Python3
(python3 及 Geany编辑器安装参见总结1)
目录:
- 一、列表
- 1.创建
- 2.访问
- 3.处理操作
- 1)修改元素
- 2)添加元素
- 3)删除元素
- 4)列表排序
- 5)打印列表
- 6)计算长度
- 4.元组
一、列表
1.创建
(1)字符列表
列表名=[‘元素1’,‘元素2’…‘元素n-1’,‘元素n’]
(编辑器显示错误,应为英文输入法的单引号)
litters = ['a','b','c']
(2)数字列表
使用range()几乎能创建任何需要的数字集
<1>使用函数 range()+list()
list()可将range()的结果直接转换为列表
numbers = list(range(1,6))
#注意:range(1,6)只会访问数字12345,没有6
print(numbers)
numbers = list(range(1,11,2))
#函数range()从1开始数,不断加2,直到达到或超过11
print(numbers)
<2>使用函数range()
squares = [] #先创建一个空列表
for value in range(1,11): #使range()遍历1-10
squares.append(value**2) #计算当前值的平方后加到空列表末尾
print(squares)
简化版如下:
squares = [value**2 for value in range(1,11)]
print(squares)
2.访问
(1)正向索引访问
注意:列表中元素索引从0开始!
letters = ['a','b','c']
print(letters[0]) #输出列表的第一个元素
print(letters[1]) #输出列表的第二个元素
message="The first letter is "+letters[0]+'.'
print(message)
(2)倒向索引访问
注意:列表中索引元素从-1开始!
letters = ['a','b','c']
print(letters[-1]) #输出列表的最后一个元素
print(letters[-2]) #输出列表的倒数第二个元素
message="The last letter is "+letters[-1]+'.'
print(message)
3.处理操作
1)修改元素
列表名[元素索引]=‘更改内容’]
(编辑器显示错误,应为英文输入法的单引号)
letters = ['a','b','c']
print(letters)
letters[0]='M' #将列表中的第一个元素改为M
print(letters)
2)添加元素
append()可以将元素添加到列表末尾
insert()可以将元素添加到列表任意位置
letters = ['a','b','c']
print(letters)
letters.append('T') #将T添加到列表末尾
print(letters)
letters.insert(1,'K') #将K添加到索引为1的位置
print(letters)
3)删除元素
(1)del 语句删除某位置元素
letters = ['a','b','c']
print(letters)
del letters[1] #删除索引为1的元素
print(letters)
(2)pop()删除(弹出)某位置元素
letters = ['a','b','c']
print(letters)
print(letters.pop()) #删除列表末尾元素,并输出该元素
print(letters)
print(letters.pop(1)) #删除列表索引为1的元素,并输出该元素
print(letters)
(3)remove()删除某个指定元素
注意:只能删除掉出现的第一个指定元素
letters = ['a','b','c','a','k']
print(letters)
letters.remove('a') #删除列表元素a
print(letters)
4)列表排序
(1) sort()永久性排序
letters = ['a','c','m','b','k']
print(letters)
letters.sort() #按字母顺序进行排序
print(letters)
letters.sort(reverse=True) #按字母顺序相反顺序进行排序
print(letters)
(2) sorted()临时排序
letters = ['a','c','m','b','k']
print(letters)
print(sorted(letters)) #输出临时排序后的列表
print(letters)
5)打印列表
(1)整个列表包括符号和元素完全打印
letters = ['a','c','m','b','k']
print(letters) #打印列表
#反转列表排列顺序并打印
letters.reverse()
print(letters)
(2)只打印出列表元素
letters = ['a','c','m','b','k']
for letter in letters:
print(letter)
6)计算长度 len()
letters = ['a','c','m','b','k']
print(len(letters))
7)统计最值(数字列表)
numbers = list(range(1,11))
print(max(numbers))
print(min(numbers))
8)切片
处理列表的部分元素称之为切片
列表名[ a : b]
只处理列表索引从a到b-1的元素,当不输入a时,默认为从第一个元素开始;不输入b时,默认为到最后一个结束
letters = ['a','m','d','f','k','g']
print(letters[:]) #输出所有元素
print(letters[:2]) #输出前2个元素
print(letters[-3:]) #输出最后3个元素
print(letters[1:4]) #输出索引1到索引3的元素
9)复制列表
(1)切片法
较为灵活,复制命令后再改变leeters不会影响copy
letters = ['a','m','d','f']
copy = letters[:] #创建包含所有列表的切片,构成新列表copy
letters.append('K')
print(letters)
print(copy)
(2)直接复制
复制命令后再改变letters,copy也随之改变,即copy始终与letters相等
letters = ['a','m','d','f']
copy = letters
letters.append('K')
print(letters)
print(copy)
4.元组
1)定义
Python将不能修改的值称为不可变的,将不可变的列表称为元组
2)对比
列表使用[ ]方括号,定义后可以修改列表元素
元组使用( )圆括号,定义后不能修改元组元素(但是可以重新定义)
letters = ('a','m','d')
print(letters)
for letter in letters:
print(letter)
letters = ('L','k','R') #重新定义
print(letters)
for letter in letters:
print(letter)