1.运算符
1.1 数学运算符:+, *
1.1.1 加号运算符,列表1 + 列表2 ——>产生一个新的列表,其中元素数2个列表中元素的合并
list1 = [1, 2, 3]
list2 = ['张三', '李四']
print(list1+list2)
1.1.2 乘法运算:;列表N 或 N列表
print(list2*3)
2.比较运算: == !=
list3 = [1, 2, 3]
list4 = [2, 1, 3]
print(list3 == list4) #False 元素的值和顺序都相同才是True
21: is 判断是否相等,判断的是地址是否相同
list5 = [1, 2]
list6 = [1, 2]
print(list5 is list6)
2.2 >,<,>=,<=
列表比较的是元素的值
3. in 和 not in 判读列表中是否存在某元素
元素 in 列表
元素 not in 列表
name = ['小明', '小花', '小红']
print('小明' in name)
4.列表相关函数:len,max,min,list,sum
4.1 len(序列) ------获取序列的长度(元素的个数)
4.2 max/min(序列) --------获取列表中的最大值和最小值
4.2.1 max/min使用要求:
a.序列中所有元素的类型必须一致,(数字看成一种类型)
b.元素本身支持比较大小
4.3 sum(数字序列) ——>求数列中所有元素的和
4.4 list ——>将指定的数据转换成列表
4.4.1 list(数据) 数据必须是序列(所有的序列都可以转换成列表)
print(list('hello')) #['h', 'e', 'l', 'l', 'o']
列表相关方法
-
列表.count(元素) ——>统计列表中指定元素的个数
names = ['曹操', '刘备', '赵云', '小乔', '吕布', '诸葛村夫']
print(names.count('赵云')) 结果:1
2. 列表.extend(序列) ——>将序列中的元素全部添加到列表的末尾
names.append('后裔')
print(names) #结果:['曹操', '刘备', '赵云', '小乔', '吕布', '诸葛村夫', '后裔']
names.extend('后裔')
print(names) #结果:['曹操', '刘备', '赵云', '小乔', '吕布', '诸葛村夫', '后裔', '后', '裔']
3.列表.index(元素) ——> 获取指定元素在列表中的下标
3.1 如果元素不存在,程序会报错
3.2 如果此元素在列表中有多个,仅获得第一个该元素的下标
4 列表.reverse() ——> 将原来的列表倒序(反过来)
4.1 reversed(序列) -->将序列中的元素倒叙,产生一个新的序列对应的迭代器
nums = [1, 2, 3]
nums.reverse()
print(nums) #结果:[3, 2, 1]
5.列表.clear() ——> 清空列表
注意:清空列表用clear(),而不是直接复制为空,[],None
nums.clear()
print(nums)
6.列表.copy() ——> 复制列表中的元素,产生一个新列表,新列表与原列表互不影响
注意:
a.和列表[:]的功能一模一样,都属于浅拷贝
b.列表直接赋值产生的新列表和原列表相互影响
7. 列表.sort() ——> 将列表中的元素从小到大排序(直接修改列表中元素的顺序,不会产生新列表)
7.1 列表.sort(reverse=True) --> 将列表中的元素从大到小排序(直接修改列表元素的顺序,不会产生新列表)
7.3 列表.sort(reverse=True) == 列表.sort();列表.reverse()
8.排序函数:sorted(序列) -->1.可对所有序列从小到大(升序)排序 2.不修改原序列,排序后产生一个新列表
sorted(序列, reverse = True) --> 降序排列 产生一个新序列
1. 什么是元组(tuple)
- 定义:不可变列表
-
特点:
- a.容器型数据类型
- b.小括号为容器标志多个元素以逗号隔开
- c.不可变(不支持增删改)
- d.有序(支持下标操作)
- e.任何数据类型都可以作为元组元素
tuple1 = (1, 2, 3)
2.查
列表获取元素的方式,元组都支持
print(tuple1[1])
print(tuple1[1:])
2.1 相关运算:+,*,==,!=,is,in,not in ——>与list相同
tuple(数据) ---将数据转换成元组(数据必须是序列)
3.元组特有或使用频繁的操作
3.1 单个元素元组:tuple(元素,)
tuple2 = (10,)
print(tuple2)
3.2单独使用元组的值,()可以省略 --> 直接将多个数据用逗号而开
3.3 可以通过让变量的个数和元组中元素的个数保持一致来分别获取元组中的元素
tuple3 = (10, 20)
x, y = tuple3
print(x, y)
3.4 同时声明多个变量,获取元组中的元素,变量的个数可以比元组中元素的数量少,但这个时候多个变量中的某一个变量的前面必须加,带星的变量可以获取不带的变量获取不带*的变量获取完身下的变量
tuple5 = (10, 20, 30, 40, 50)
*x1, x2, x3 = tuple5
print(x1, x2, x3) #[10, 20, 30] 40 50
x1, *x2, x3 = tuple5
print(x1, x2, x3) #10 [20, 30, 40] 50
x1, x2, *x3, x4 = tuple5
print(x1, x2, x3, x4) #10 20 [30, 40] 50
作业
list.count(元素) 某元素在列表中出现的次数
num = [8.0, 1, 1, 2, 2, 3, 4, '2', {3, 6}, 8.0, 7, [6, 4], 4, (5, 5) ,5]
num1 = num2 = num3 = num4 = 0
dot = '.'
quotation = '\''
double_quo = '\"'
bracket = '['
Geodude = '('
brace = '{'
element = input('请输入您需要查询的的元素:')
list_el = list(element) #将输入的字符串转变为列表
print(list_el)
if quotation in list_el or double_quo in list_el: #判断字符串列表中是否有'\''或'\"'以确认输入的是字符串
for x in num:
if x == element[1:-1]:
num1 += 1
print(element+'在列表中出现的次数为:', num1)
#判断字符串列表中是否含有小数点,且没有大 、中、小括号,以确认输入的是浮点数
elif dot in list_el and bracket not in list_el and Geodude not in list_el and brace not in list_el:
for x in num:
if x == float(element):
num2 += 1
print(float(element), '在列表中出现的次数为:', num2)
elif bracket in list_el or Geodude in list_el or brace in list_el: #判断字符串列表中是否有大、中、小括号,以确认输入的是一个容器型数据
for x in num:
if str(x) == element:
num3 += 1
print(element+'在列表中出现的次数为:', num3)
elif int(element) in num: #判断字符串列表中是否有'{',以确认输入的是一个字典
for x in num:
if x == int(element):
num4 += 1
print(element+'在列表中出现的次数为:', num4)
else:
print('列表中没有此元素,请重新输入')