1.求列表的中心元素
my_list = ['a','b','c','d',6]
if len(my_list) & 1 == 1:
mid_index = len(my_list)//2
print('列表的中心元素:', my_list[mid_index])
else:
print('列表偶数个元素,没有中心元素')
结果:
列表的中心元素: c
2.已知一个列表,求所有元素的和
my_list = [1,2,3,4,3.2]
if isinstance(my_list[0],str):
result=''
elif isinstance(my_list[0],int) or isinstance(my_list[0],float):
result = 0
for item in my_list:
result +=item
print('所有元素的和为:',result)
结果: 所有元素的和为: 13.2
3.已知一个列表,输出所有奇数下标元素
my_list = [1,2,3,4,5,6]
result = my_list[1::2]
print('奇数下标元素有:',end="")
for item in result:
print(item,' ',end="")
结果:奇数下标元素有:2 4 6
4. 已知一个列表,输出所有元素中值为奇数的
my_list = [1,2,3,4,5]
print('\n元素为奇数的值有:',end="")
for item in my_list:
if item & 1 == 1:
print(item,' ',end="")
结果:元素为奇数的值有:1 3 5
5. 已知一个列表,将所有元素乘2
my_list=[1,'a',2,'b']
for i in range(len(my_list)):
my_list[i] *= 2
print('\n','所有元素乘2的结果:',my_list)
结果:所有元素乘2的结果: [2, 'aa', 4, 'bb']
7. 已知一个列表A,将奇数位置元素存到B列表中,将偶数位置元素存在C列表
list_A=[1,'aa',2,'bb',3,'cc',4]
list_B=list_A[::2]
list_C=list_A[1::2]
print('列表B:',list_B)
print('列表C:',list_C)
结果:
列表B: [1, 2, 3, 4]
列表C: ['aa', 'bb', 'cc']
8. 把列表A的前5个元素复制到列表B中
list_A=[1,'aa',2,'bb',3,'cc',4,12,12]
list_B=[]
if len(list_A)>=5:
list_B = list_A[0:5]
print('列表B:',list_B)
else:
print('列表A不足5个元素')
结果:列表B: [1, 'aa', 2, 'bb', 3]
10 有一个长度是10的列表,列表内有10个不重复的数字,要求按照从小到大排序
my_list=[12,45,4,5,78,89,100,16,9,10]
my_list.sort(reverse=True)
print(my_list)
结果:[100, 89, 78, 45, 16, 12, 10, 9, 5, 4]
11. 有一个长度是10的列表,要求删除某一位置的元素
my_list=[12,45,4,5,78,89,100,16,9,10]
while True:
print('列表为:',my_list)
del_index = input('请输入要删除位置的元素(一个元素对应位置为1,依次类推):')
if del_index.isdigit():
del_index = int(del_index)
if del_index<=len(my_list)+1:
del my_list[del_index-1]
print('删除后的列表为:', my_list)
print('********结束*********')
break
else:
print('请输入正确的位置')
else:
print('请输入数字')
12 有一个长度为10的列表,按照递增排列,用户输入一个数,插入适当位置
my_list=[12,45,4,5,78,89,100,16,9,10]
my_list.sort()
while True:
print('列表为:',my_list)
insert_item = input('请输入要插入的元素:')
try:
if type(eval(insert_item))==int:
my_list.append(int(insert_item))
elif type(eval(insert_item))==float:
my_list.append(float(insert_item))
my_list.sort()
print('列表更新为:', my_list)
print('********结束*********')
break
except:
print('输入错误,请输入数字!')
13 有一个长度为10的列表,数组内有10个人名,要求去掉重复的
my_list=['孙悟空','典韦','亚瑟','孙悟空','后裔','夏侯惇','曹操','孙悟空','典韦','杨戬']
new_list = []
for name in my_list:
if name not in new_list:
new_list.append(name)
my_list = new_list
print(my_list)
--------------------------------另外一种法--------------------------------------
my_list=['a',10,10,10,10,10,'b','c']
i=0
while i<len(my_list):
if my_list.count(my_list[i])>1:
my_list.pop(i)
i-=1
i+=1
print(my_list)
结果:['孙悟空', '典韦', '亚瑟', '后裔', '夏侯惇', '曹操', '杨戬']
14 把A列表的第三到第六位之间的元素删除
list_A=[12,45,4,5,78,89,100,16,9,10]
for i in range(4):
list_A.pop(2)
print(list_A)
结果:[12, 45, 100, 16, 9, 10]
15 .已知列表A、B,定义列表C,要求C包含A,B数组中的数据(无重复值)
list_A=[1,3,2,3,4,1]
list_B=['a','b','c','a']
list_C = list_A + list_B
new_list=[]
for name in list_C:
if name not in new_list:
new_list.append(name)
list_C = new_list
print(new_list)