1.已知一个数字列表,求列表中心元素。
nums = [12, 14, 1, 0, 2, 3, 5, 9, 2, 1, 12, 34, 12]
if len(nums) % 2 != 0:
print(nums[(len(nums)-1)//2])
else:
print(nums[len(nums)//2])
2.已知一个数字列表,求所有元素和。
nums = [1, 2, 4, 7, 9, 10]
sum1 = 0
for i in nums:
sum1 += i
print(sum1)
3.已知一个数字列表,输出所有奇数下标元素。
nums = [12, 2, 3, 4, 6, 8, 9, 10]
for i in range(len(nums)):
if i % 2:
print(nums[i], end=' ')
print()
4.已知一个数字列表,输出所有元素中,值为奇数的元素。
nums = [1, 3, 2, 22, 10, 9, 11]
for i in nums:
if i % 2:
print(i, end=' ')
print()
5.已知一个数字列表,将所有元素乘二。
例如:nums = [1, 2, 3, 4] —> nums = [2, 4, 6, 8]
nums = [1, 2, 3, 4]
for i in range(len(nums)):
nums[i] *= 2
print(nums)
6.有一个长度是10的列表,数组内有10个人名,要求去掉重复的
例如:names = [‘张三’, ‘李四’, ‘大黄’, ‘大黄’, ‘张三’, ‘张三’, ‘张三’] -> names = [‘张三’, ‘李四’, ‘大黄’]
names = ['张三', '李四', '大黄', '大黄', '张三', '张三', '张三', '李四', '李四', '王五']
for i in range(3):
names.remove('张三')
for i in range(2):
names.remove('李四')
names.remove('大黄')
print(names)
7.用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分)
scores = [89, 90, 67, 78, 80, 88]
sum1 = 0
for i in range(len(scores)):
for j in range(len(scores)-1-i):
if scores[j] > scores[j+1]:
a = scores[j]
scores[j] = scores[j+1]
scores[j+1] = a
scores.pop(0)
scores.pop(len(scores)-1)
for i in scores:
sum1 += i
print(sum1 / len(scores))
8.有两个列表A和B,使用列表C来获取两个列表中公共的元素
例如: A = [1, ‘a’, 4, 90] B = [‘a’, 8, ‘j’, 1] --> C = [1, ‘a’]
A = [1, 'a', 4, 90]
B = ['a', 8, 'j', 1]
C = list()
for i in A:
for j in B:
if i == j:
C.append(i)
print(C)
9.有一个数字列表,获取这个列表中的最大值.(注意: 不能使用max函数)
例如: nums = [19, 89, 90, 600, 1] —> 600
nums = [19, 89, 90, 600, 1]
for i in range(len(nums)):
for j in range(len(nums)-1-i):
if nums[j] > nums[j+1]:
a = nums[j]
nums[j] = nums[j+1]
nums[j+1] = a
print(nums[len(nums)-1])
10.获取列表中出现次数最多的元素
例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3] —> 打印:3
nums = [1, 2, 3, 1, 4, 2, 1, 3, 7, 3, 3]
n1 = nums.count(1)
n2 = nums.count(2)
n3 = nums.count(3)
n4 = nums.count(4)
n7 = nums.count(7)
num1 = [n1, n2, n3, n4, n7]
num1.sort()
if num1[len(num1)-1] == n4 or num1[len(num1)-1] == n7:
print('4', '或者', '7', '出现次数最多')
elif num1[len(num1)-1] == n2:
print('2出现次数最多')
elif num1[len(num1)-1] == n1:
print('1出现次数最多')
elif num1[len(num1)-1] == n3:
print('3出现次数最多')
python语言基础之列表
1、列表的定义
语法
1、列表是python自带的容器型数据类型;将[]作为容器的标志,里面多个元素用逗号隔开:[元素1,元素2,元素3,......]
2、特点:列表是可变的(支持增删改):有序性(支持下标操作);
3、列表元素的要求:1)任何类型的数据都可以作为列表的元素;2)同一个列表中的不同元素类型可以不一样
list1 = [10 + 2, 16.4, '小明']
print(list1) ------- 12 16.4 小明 -------
2、获取列表当中的元素值
1)获取单个元素
语法
列表[下标] - 获取列表中指定下标对应的元素
说明:
列表 - 可以是保存列表的变量,也可以是具体的列表数据
[] - 固定写法
下标 - 下标又叫索引,它可以表示元素在列表中的位置信息
python中有序序列中元素的下标有两种:
a.元素从左往右从0开始依次增加的下标值
b.元素从右往左从-1开始依次减少的下标值
代码案例展示
heroes = ['貂蝉', '诸葛亮', '鲁班', '瑶', '大禹']
print(heroes[-5:-1:3]) ----- ['貂蝉','瑶']------
2)获取多个元素 - 列表切片
1> 切片的完整语法
语法1:
列表[开始下标:结束下标:步长]
从开始下标开始取,取到结束下标前为止,每一次下标增加指定步长
注意
a.如果从开始到结束的方向和步长对应的方向不一致,那么切片的结果为空,(步长为正表示从前往后,步长为负表示从后往前)
b.在不为空的时候,开始下标对应的值可以取到,结束下标对应的值取不到:[开始下标,结束下标)
heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[-1:1:-2]) ----- ['孙膑','劫','奥巴马'] -----
2>切片语法的省略操作
a.省略步长 - 默认步长是1
列表[开始下标:结束下标]
b.省略开始下标 - 如果步长为正表示从最开始的元素往后取;如果步长为负则表示从最后一个往前取
列表[:结束下标:步长]
列表[:结束下标]
c.省略结束下标 - 如果步长为正则从开始下标开始取到最后一个元素为止;如果步长为负则从开始下标开始取到最前面的一个元素为止
列表[开始下标::步长]
列表[开始下标:]
heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[:3]) --- ['诸葛亮','瑶','奥巴马'] ---
print(heroes[:3:-2]) --- ['孙膑','劫'] ---
print(heroes[:-1:-1]) --- [] ---
3、遍历列表
语法
方法1:
for 变量 in 列表:
循环体
方法2:(通过下标获取元素)
for 变量 in range(10):
列表[变量]
len(列表) - 获取指定列表中的元素的个数
scores = [100, 89, 92, 80, 40, 67, 86, 65, 78, 70]
count = 0
for i in scores:
if i > 90:
count += 1
print(count)
4、列表的增删改操作
1)增 - 添加元素
基本语法
1)列表.append(元素) - 在列表的最后添加指定元素
2)列表.insert(下标,元素) - 在指定下标对应的元素前插入指定元素
films = list()
films.append('光头强')
films.append('你的名字')
films.append('绿皮书')
print(films) ----- ['光头强','你的名字','绿皮书'] -----
2)删 - 删除元素
基本语法
1)del 列表[下标] - 删除列表中指定下标对应的元素
2)列表.remove(元素) - 删除列表中指定的元素(如果元素不存在会报错;如果元素有多个只删除最前面的一个)
3)列表.pop() - 取出列表中的最后一个元素
列表.pop(下标) - 取出列表中指定下标对应的元素
pop - 取出的元素如果有一个变量接收,那么元素还是存在,可以打印出来
del films[1]
print(films) ------ ['光头强','绿皮书'] -------
films.remove('绿皮书') ----- ['光头强'] -----
films.pop(0) ----- [] -----
3)改 - 给列表对应下标处重新赋值
基本语法
列表[下标] = 值 - 将列表中指定下标对应的元素修改成指定的值
films[0] = '熊出没'
print(films) ------ ['熊出没', '你的名字','绿皮书'] -------
|