+:用于拼接两个容器
+=:用原容器与右侧容器拼接,并重新绑定变量
*:重复生成容器元素
*=:用原容器生成重复元素, 并重新绑定变量
< <= > >= == !=:依次比较两个容器中元素,一但不同则返回比较结果。
- 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]
将两组列表进行升序、降序、逆序(反转)、迭代遍历