+:用于拼接两个容器
+=:用原容器与右侧容器拼接,并重新绑定变量
*:重复生成容器元素
*=:用原容器生成重复元素, 并重新绑定变量
< <= > >= == !=:依次比较两个容器中元素,一但不同则返回比较结果。
sum = 0
count = 0
for __ in range(11):
# range循环1-10结束
sum += count
count += 1
#输出时-1
print("总和为:"+str(sum)+",累加1-"+str(count-1))
语法:
数据 in 序列
数据 not in 序列
作用:如果在指定的序列中找到值,返回bool类型。
# 成员运算
str1 = "人生苦短我用Python"
print("人参" in str1) #False
print("人生" in str1) #True
注意:从列表中取值时,如果超出索引范围,程序会报错
name_list = ["zhangsan", "lisi", "wangwu"]
In [1]: name_list.
name_list.append name_list.count name_list.insert name_list.reverse
name_list.clear name_list.extend name_list.pop name_list.sort
name_list.copy name_list.index name_list.remove
序号 | 分类 | 关键字 / 函数 / 方法 | 说明 |
---|---|---|---|
1 | 增加 | 列表.insert(索引, 数据) | 在指定位置插入数据 |
列表.append(数据) | 在末尾追加数据 | ||
列表.extend(列表2) | 将列表2 的数据追加到列表 | ||
2 | 修改 | 列表[索引] = 数据 | 修改指定索引的数据 |
3 | 删除 | del 列表[索引] | 删除指定索引的数据 |
列表.remove[数据] | 删除第一个出现的指定数据 | ||
列表.pop | 删除末尾数据 | ||
列表.pop(索引) | 删除指定索引数据 | ||
列表.clear | 清空列表 | ||
4 | 统计 | len(列表) | 列表长度 |
列表.count(数据) | 数据在列表中出现的次数 | ||
5 | 排序 | 列表.sort() | 升序排序 |
列表.sort(reverse=True) | 降序排序 | ||
列表.reverse() | 逆序、反转 |
# 1.创建列表:有两种方式
# 列表名 = [] (里面可以是不同数据类型)
name_list = ["zhangsan", "lisi", "wangwu"]
# 2. 取值和取索引
# list index out of range - 列表索引超出范围
print(name_list[2]) # wangwu
print(name_list) # ['zhangsan', 'lisi', 'wangwu']
# 3. 查找对应的索引
# 知道数据的内容,想确定数据在列表中的位置
# 使用index方法需要注意,如果传递的数据不在列表中,程序会报错!
print(name_list.index("wangwu"))
# 4. 修改
name_list[1] = "李四"
# list assignment index out of range
# 列表指定的索引超出范围,程序会报错!
# name_list[3] = "王小二"
# 5. 增加元素
# append 方法可以向列表的末尾追加数据
name_list.append("王小二") # ['zhangsan', '李四', 'wangwu', '王小二']
# insert 方法可以在列表的指定索引位置插入数据
# 语法 :列表.insert(索引,元素)
name_list.insert(1, "林小六") # ['zhangsan', '林小六', '李四', 'wangwu', '王小二']
# extend 方法可以把其他列表中的完整内容,追加到当前列表的末尾
temp_list = ["蔡谋坤", "罗谋祥"]
name_list.extend(temp_list)
# 以上输出结果 ['zhangsan', '林小六', '李四', 'wangwu', '王小二', '蔡谋坤', '罗谋祥']
# 6. 删除
# remove 方法可以从列表中删除指定的数据
name_list.remove("wangwu")
# del 方法可以指定删除的索引
del name_list[-1] # 删除 '罗谋祥'
# pop 方法默认可以把列表中最后一个元素删除
name_list.pop() # 删除 '蔡谋坤'
# pop 方法可以指定要删除元素的索引
name_list.pop(3) # 删除'王小二'
# clear 方法可以清空列表
name_list.clear() # []
正向:for 变量名 in 列表名: 变量名就是元素 (不灵活)
# 只支持:正向顺序查找
list01 = [9,8,7,6,5,4,3,2,1]
# 只支持:正向顺序查找
for item in list01:
print(item)
# item = 0 # 不能修改
for 变量名 in (len(列表名)): 列表名[索引名]就是元素 (常用)
list01 = [9,8,7,6,5,4,3,2,1]
# 索引 + for 定义元素
# 获取列表中每个元素
# 正向
for i in range(len(list01)):
print(list01[i])
list01 = [9,8,7,6,5,4,3,2,1]
i = 0
while i<len(list01):
print(list01[i])
i += 1
变量 = [表达式 for 变量 in 可迭代对象]
变量 = [表达式 for 变量 in 可迭代对象 if 条件]
说明:如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃。
list01 = [25, 89, 32, 15, 23, 66]
# 案例1:将列表1的所有元素加10后添加到列表2
list02 = [item + 10 for item in list01]
print(list02)
# 案例2: 将列表1的所有奇数元素加10后添加到列表2
list02 = [item + 10 for item in list01 if item % 2 ]
print(list02)
# 案例3:判断1990年到2020年之间的闰年存入列表
# 思路:先把简单的循环判断写出来再转换成推导式
list03 = []
#for year in range(1999, 2020):
# if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
# list03.append(year)
list03 = [year for year in range(1999,2020) if year % 4 ==0 and year % 100 !=0 or year % 400 == 0 ]
print(list03)
总结:推导式语法中把表达式当作输出的值
schoolNames = [['北京大学','清华大学'],
['广东大学','广西大学','武汉大学'],
['山东大学','海洋大学']]
print(schoolNames)
[['北京大学', '清华大学'], ['广东大学', '广西大学', '武汉大学'], ['山东大学', '海洋大学']]
import random
office = [[],[],[]] # 定义一个列表保存3个办公室
# 定义一个列表储存8位老师
teacher = ['A','B','C','D','E','F','G','H']
i = 0
for i in teacher:
index = random.randint(0,2)
office[index].append(i)
i = 1
for tempNames in office:
print('办公室%d的人数为:%d'%(i,len(tempNames)))
i+=1
for name in tempNames:
print("%s"%name,end='')
print("\n")
print("-"*20)
1.列表和字符串都是序列,元素之间有先后顺序关系。
2.字符串是不可变的序列,列表是可变的序列。
3.字符串中每个元素只能存储字符,而列表可以存储任意类型。
4.列表和字符串都是可迭代对象。
str01 = "人-生-苦-短"
# 通过split函数将 "任意"分割转化为列表
res = str01.split("-")
print(res)
# ['人', '生', '苦', '短']
list01 = ['人', '生', '苦', '短']
res02 = " ".join(list01)
print(res02)
# 人 生 苦 短
stu_height = []
while True:
inp_height = input("请输入同学身高:")
if inp_height == "":
break
stu_height.append(int(inp_height))
print("最高:%d" % max(stu_height))
print("最低:%d" % min(stu_height))
print("平均:%.2f" % (sum(stu_height) / len(stu_height)))
name_list = [“张三”, “李四”, “王五”, “王小二”, “张三”, “张三”]
1、统计张三出现的次数
2、从列表中删除第一次出现的数据
name_list = [“zhangsan”, “lisi”, “wangwu”, “wangxiaoer”]
num_list =[6, 8, 4, 1, 10]
将两组列表进行升序、降序、逆序(反转)、迭代遍历