列表
不懂列表就是不懂Python。
列表和字符串是Python中最重要的迭代对象。
基础语句
- 数字、字符列表
f = []
- sort 排序函数
temp_list=[12,23,76,14]
temp_list.sort()
>>>[12,14,23,76]
- 列表复制
temp_list2=temp_list[:] #创建新列表,切片逐个复制。
temp_list2=temp_list #同一地址指向另一变量,即创建了另一别名。
#两种复制原理截然不同
- 列表扩容、合并、增删
list.append(25) #扩容25
list.extend(temp_2) #合并列表,append嵌套合并
list.append('Bob') #增加Bob
list.remove('Bob') #删除Bob
- for的列表语法
num_list=[12,21,25,34]
for i in num_list: #中间变量 in 列表
j=i*10
print(j,end=' ') #在中间空格隔开,默认换行
- for语句再加工列表
num_list=[12,21,25,34]
f=[]
for i in num_list:
j=i*1.8+32
f.append(j)
print(f)
综合运用
- 录入名单并排序
name_list=[]
while True: #T要大写,要有冒号
str1=input('Enter your name:')
if str1=='': #冒号
break
name_list.append(str1)
name_list.sort() #排序
for str2 in name_list:
print(str2)
进阶操作
- 切片索引
print('name_list[3]=',name_list[3]) # 单揪出来
print('name_list[1:3]=',name_list[1:3]) # 切片提取
reversed_list=name_list[-1::-1] # 生成顺序颠倒的镜像列表
正数式切片:0 1 2 3 4 左至右
负数式切片:-5 -4 -3 -2 -1 右至左
索引规则
- 切片写入
x_list=[1,2,6]
x_list[2:2]=[5,7,9] #在索引2前插入指定列表
>>>[1,2,5,7,9,6]
x_list[0]=[2,6] #列表套娃
>>>[[2,6],1,2,5,7,9,6]
print('x_list=',x_list)
- range覆写列表
1、range函数生成有序列表。
2、len函数测量列表长度。
for i in range(len(x_list)):
#range函数生成长度相等的列表用于引导循环
x_list[i]=x_list[i]*1.8+32
print('x_list=',x_list)
range规则
综合运用
- 计算阶乘
n=int(input('Calculate factorial for which n?\n'))
prod=1
for i in range(1,n+1):
#生成数字1~n,不包含结尾n+1
prod*=i
print('The result is:',prod)