1.已知一个列表,求列表中心元素。
代码:python
# 已知一个列表,求列表中心元素。
a = ['a', 'c', 'd', 1, 2, 3]
if len(a) / 2 > len(a) // 2:
print('中心元素', a[len(a) // 2])
else:
print('中心元素', a[len(a) // 2 - 1], '和', a[len(a) // 2])
结果:
中心元素 d 和 1
2.已知一个列表,求所有元素和。
代码:
# 已知一个列表,求所有元素和。
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(sum(a))
结果:
45
3.已知一个列表,输出所有奇数下标元素。
代码:
# 3.已知一个列表,输出所有奇数下标元素。
a = [1, 6, 'a', 9, 40, 9]
for i in range(len(a)):
if isinstance(a[i], int):
if a[i] & 1 == 1:
print('奇数下标有:', i)
结果
奇数下标有: 0
奇数下标有: 3
奇数下标有: 5
4.已知一个列表,输出所有元素中,值为奇数的。
代码:
# 4.已知一个列表,输出所有元素中,值为奇数的。
a = [1, 6, 'a', 9, 40, 9]
for i in range(len(a)):
if isinstance(a[i], int):
if a[i] & 1 == 1:
print('第:', i + 1, '个位置是奇数', a[i])
结果:
第: 1 个位置是奇数 1
第: 4 个位置是奇数 9
第: 6 个位置是奇数 9
5.已知一个列表,将所有元素乘二。
代码:
# 5.已知一个列表,将所有元素乘二。
a = [1, 6, 'a', 9, 40, 9]
for i in range(len(a)):
a[i] = a[i] * 2
print(a)
结果:
[2, 12, 'aa', 18, 80, 18]
6.有一个长度是10的列表,数组内有10个人名,要求去掉重复的
例如:names = ['张三', '李四', '大黄', '张三'] -> names = ['张三', '李四', '大黄']
代码:
# 例如:names = ['张三', '李四', '大黄', '张三'] -> names = ['张三', '李四', '大黄']
names = ['张三', '张三', '李四', '大黄', '张三', '李四', '王六', '王麻子', '王麻子', '老王', '大黄']
new_names = []
for name in names:
if name not in new_names:
new_names.append(name)
print(new_names)
# 补充,删除列表重复的数据几种方法:
# 删除列表中重复的选项(只使用一个列表)
a = [1, 5, 3, 5, 3, 6, 9, 7, 4, 1, 4, 4]
for item in a.copy():
count = a.count(item)
if count > 1:
a.remove(item)
print(a)
# 删除列表中重复选项(使用集合去重)
a = [1, 5, 3, 5, 3, 6, 9, 7, 4, 1, 4, 4]
print(list(set(a)))
# 删除列表中重复数据(使用两个列表)
a = [1, 5, 3, 5, 3, 6, 9, 7, 4, 1, 4, 4]
double_a = []
for i in a:
if i not in double_a:
double_a.append(i)
print(double_a)
# 删除列表中重复数据(使用while循环)
a = [1, 5, 3, 5, 3, 6, 9, 7, 4, 1, 4, 4]
i = 0
while i < len(a):
if a.count(a[i]) > 1:
a.remove(a[i])
i = 0
i += 1
print(a)
结果:
['张三', '李四', '大黄', '王六', '王麻子', '老王']
[5, 3, 6, 9, 7, 1, 4]
[1, 3, 4, 5, 6, 7, 9]
[1, 5, 3, 6, 9, 7, 4]
[5, 3, 6, 9, 7, 1, 4]
7.已经一个数字列表(数字大小在0~6535之间), 将列表转换成数字对应的字符列表
例如: list1 = [97, 98, 99] -> list1 = ['a', 'b', 'c']
代码:
# 7.已经一个数字列表(数字大小在0~6535之间), 将列表转换成数字对应的字符列表
#
# 例如: list1 = [97, 98, 99] -> list1 = ['a', 'b', 'c']
number_list = [65, 67, 98, 99, 14, 122, 64, 979, 664, 122]
char_list = []
for i in number_list:
char_list.append(chr(i))
print(number_list)
print(char_list)
结果:
[65, 67, 98, 99, 14, 122, 64, 979, 664, 122]
['A', 'C', 'b', 'c', '\x0e', 'z', '@', 'ϓ', 'ʘ', 'z']
8.用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分)
代码:
# 8.用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分)
a = input('输入节目组的分数(结束输入:end并计算出平均分)')
score = []
while a != 'end':
if a.isdigit():
score.append(int(a))
a = input('输入节目组的分数(结束输入:end并计算出平均分)')
# 获得了该列表,删除最高分以及最低分
print('删除最高分:%d,删除最低分:%d后,' % (max(score), min(score)), end='')
score.remove(max(score))
score.remove(min(score))
print('平均分为:%0.3f' % (sum(score) / (len(score) + 2)))
结果:
输入节目组的分数(结束输入:end并计算出平均分)10
输入节目组的分数(结束输入:end并计算出平均分)100
输入节目组的分数(结束输入:end并计算出平均分)20
输入节目组的分数(结束输入:end并计算出平均分)30
输入节目组的分数(结束输入:end并计算出平均分)40
输入节目组的分数(结束输入:end并计算出平均分)end
删除最高分:100,删除最低分:10后,平均分为:18.000
9.有两个列表A和B,使用列表C来获取两个列表中公共的元素
例如: A = [1, 'a', 4, 90] B = ['a', 8, 'j', 1] --> C = [1, 'a']
代码:
# 9.有两个列表A和B,使用列表C来获取两个列表中公共的元素
#
# 例如: A = [1, 'a', 4, 90] B = ['a', 8, 'j', 1] --> C = [1, 'a']
A = [1, 'a', 4, 90, 'shan']
B = ['a', 8, 'j', 1, 'shan']
C = []
for item_A in A:
for item_B in B:
if item_A == item_B:
C.append(item_A)
print(C)
结果:
[1, 'a', 'shan']