1.已知一个列表,求列列表中心元素。
列表中元素为偶数
list1 = [1, 2, 3, 4, 5, 6]
length = len(list1)
if length%2:
print('中心元素是:', list1[int((length-1)/2)])
else:
print('中心元素是:', list1[int(length/2-1)], '和', list1[int(length/2)])
结果:
中心元素是: 3 和 4
列表中元素为奇数
list1 = [1, 2, 3, 4, 5]
length = len(list1)
if length%2:
print('中心元素是:', list1[int((length-1)/2)])
else:
print('中心元素是:', list1[int(length/2-1)], '和', list1[int(length/2)])
结果:
中心元素是: 3
2.已知一个列表,求所有元素和。
# 列表内元素类型为整型
list1 = [1, 2, 3, 4, 5]
sum1 = 0
for number in list1:
sum1 += number
print('列表1的和是:', sum1)
# 列表内元素类型为字符串且为数字
list2 = ['1', '2', '3', '4', '5']
sum2 = 0
for item in list2:
sum2 += int(item)
print('列表2的和是:', sum2)
结果:
列表1的和是: 15
列表2的和是: 15
3.已知一个列表,输出所有奇数下标元素。
list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = []
for index in range(len(list1)):
if index%2:
list2.append(list1[index])
print('列表1中下标为奇数的元素的集合是:', list2)
结果:
列表1中下标为奇数的元素的集合是: [2, 4, 6]
4.已知一个列表,输出所有元素中,值为奇数的。
(列表中元素为字符串类型的数字时,需要做类型转换,参照第2题)
list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = []
for item in list1:
if item%2:
list2.append(item)
print('列表1中为奇数的元素的集合是:', list2)
结果:
列表1中为奇数的元素的集合是: [1, 3, 5, 7]
5.已知一个列表,将所有元素乘二。
(列表中元素为字符串类型的数字时,需要做类型转换,参照第2题)
list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = []
for item in list1:
list2.append(item*2)
print('列表1中所有元素乘以2之后的结果是:', list2)
结果:
列表1中所有元素乘以2之后的结果是: [2, 4, 6, 8, 10, 12, 14]
6.已知一个列表,将所有元素加到第一个元素中。
list1 = [1, 2, 3, 4, 5, 6, 7]
list1[0] = [list1[0]]
for item in list1:
if item==list1[0]:
pass
else:
list1[0].append(item)
print(list1)
结果:
[[1, 2, 3, 4, 5, 6, 7], 2, 3, 4, 5, 6, 7]
7.已知一个列表A,将奇数位置元素存到B列表中,偶数元素存到C列表中。
(列表中元素为字符串类型的数字时,需要做类型转换,参照第2题)
list_A = [1, 2, 3, 4, 5, 6, 7]
list_B = []
list_C = []
for number in list_A:
if number%2:
list_B.append(number)
else:
list_C.append(number)
print('list_B', list_B)
print('list_C', list_C)
结果:
list_B [1, 3, 5, 7]
list_C [2, 4, 6]
8.把A列表的前5个元素复制到B列表中。
list_A = [1, 2, 3, 4, 5, 6, 7]
list_B = list_A[0:5]
print('list_B:', list_B)
结果:
list_B: [1, 2, 3, 4, 5]
9.把1----36分别放入列表中,计算列表数组对角元素之和。6 * 6的列表
list1 = []
for index1 in range(6):
list2 = []
for index2 in range(index1*6+1, (index1+1)*6+1):
list2.append(index2)
list1.append(list2)
print(list1)
sum = 0
for index3 in range(6):
sum += list1[index3][index3]
sum += list1[index3][5-index3]
print('对角线上的元素之和:', sum)
结果:
[[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24], [25, 26, 27, 28, 29, 30], [31, 32, 33, 34, 35, 36]]
对角线上的元素之和: 222
10.有一个长度是10的列表,列表内 有10个不重复的数字,要求按从大到小排序。
import random
list1 = []
count = 0
while True:
num_random = random.randint(1,10)
if not num_random in list1:
list1.append(num_random)
count += 1
if count == 10:
break
print(list1)
length = len(list1)
for index1 in range(length-1):
for index2 in range(index1+1, length):
if list1[index1]<list1[index2]:
list1[index1] = list1[index1] + list1[index2]
list1[index2] = list1[index1] - list1[index2]
list1[index1] = list1[index1] - list1[index2]
print(list1)
结果:
[7, 1, 6, 4, 2, 5, 8, 10, 3, 9]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
11.有一个长度是10的列表,要求删除某一个位置的元素
import random
list1 = []
count = 0
while True:
num_random = random.randint(1,10)
if not num_random in list1:
list1.append(num_random)
count += 1
if count == 10:
break
print(list1)
index = int(input('请输入要删除的数据的下标:'))
del list1[index]
print('删除数据后的列表:', list1)
结果:
[3, 7, 1, 10, 2, 8, 9, 6, 4, 5]
请输入要删除的数据的下标:1
删除数据后的列表: [3, 1, 10, 2, 8, 9, 6, 4, 5]
12.有一个长度是10的列表,按递增排列,用户输入一个数,插入适当位置。
import random
list1 = []
count = 0
while True:
num_random = random.randint(1,10)
if not num_random in list1:
list1.append(num_random)
count += 1
if count == 10:
break
length = len(list1)
for index1 in range(length-1):
for index2 in range(index1+1, length):
if list1[index1]>list1[index2]:
list1[index1] = list1[index1] + list1[index2]
list1[index2] = list1[index1] - list1[index2]
list1[index1] = list1[index1] - list1[index2]
print(list1)
value = int(input('请输入要插入的数据:'))
for index3 in range(length):
if value<=list1[index3]:
list1.insert(index3, value)
break
elif value>list1[-1]:
list1.append(value)
break
print('插入数据后的列表:', list1)
结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
请输入要插入的数据:2
插入数据后的列表: [1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10]
当输入数据大于列表中所有数据时
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
请输入要插入的数据:111
插入数据后的列表: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 111]
13.有一个长度是10的列表,数 组内有10个人名,要求去掉重复的
def de_duplication(list):
dedup_list = []
for word in list:
if not word in dedup_list:
dedup_list.append(word)
return dedup_list
list1 = ['脑斧', '脑斧', '嘤嘤怪', '嘤嘤怪', '我', 'me', 'me', 'me', '脑斧', '脑斧']
print(de_duplication(list1))
结果:
['脑斧', '嘤嘤怪', '我', 'me']
14.把A列表的第三到第六位之间的元素删除。
list_A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
del list_A[3:5]
print(list_A)
结果:
[1, 2, 3, 6, 7, 8, 9, 10]
15.已知A列表,B列表,定义⼀一个列表C,要求C包含A,B数组中的数据(无重复值)。
list_A = [1, 2, 3, 4, 5, 6, 7, 18, 19]
list_B = [1, 2, 3, 14, 15, 16, 17, 18, 19]
list_C = []
for number1 in list_A:
if not number1 in list_C:
list_C.append(number1)
for number2 in list_B:
if not number2 in list_C:
list_C.append(number2)
print(list_C)
结果:
[1, 2, 3, 4, 5, 6, 7, 18, 19, 14, 15, 16, 17]
使用循环完成一个简单的增删改查:
page1 = ['-----Welcome to Page Turn-----', '1.进入dota', '2.进入dnf', '输入“exit”退出']
cmd_page1 = ['1', '2']
page_dota = ['-----Welcome to Page dota-----', '小小', '卡尔', '输入"back"返回上一级', '输入"add"添加信息', '输入"update"修改信息', '输入"del"删除信息', '输入“exit”退出']
cmd_dota = ['1', '2']
info_dota = ['我只会vt二连!', '孤儿卡尔!injoker!']
page_dnf = ['-----Welcome to Page dnf-----', '萌道', '逗萝', '输入"back"返回上一级', '输入"add"添加信息', '输入"update"修改信息', '输入"del"删除信息', '输入“exit”退出']
cmd_dnf = ['1', '2']
info_dnf = ['萌道才不是下水道!', '进图死,谢谢!']
while True:
for item in page1:
print(item)
user_cmd = input('请输入指令:')
if user_cmd=='1':
while True:
for index_dota_list in range(len(page_dota)):
if index_dota_list==0:
print(page_dota[0])
elif index_dota_list<=len(cmd_dota):
print(cmd_dota[index_dota_list-1]+'.'+page_dota[index_dota_list])
else:
print(page_dota[index_dota_list])
user_cmd = input('请输入指令:')
for index_dota in range(len(cmd_dota)):
if user_cmd==cmd_dota[index_dota]:
print('=' * 20)
print(info_dota[index_dota])
print('=' * 20)
if user_cmd == 'back':
break
elif user_cmd == 'add':
name = input('请输入dota人物名称:')
page_dota.insert(len(page_dota) - 5, name)
info = input('请输入%s的介绍:' % name)
info_dota.append(info)
cmd_dota.append(str(len(cmd_dota)+1))
elif user_cmd=='del':
delete_name = input('请输入要删除的信息的id:')
for index_del in range(len(cmd_dota)):
if delete_name==cmd_dota[index_del]:
cmd_dota.pop()
del page_dota[index_del+1]
del info_dota[index_del]
break
elif user_cmd=='update':
update_name = input('请输入要修改的信息的id:')
for index_update in range(len(cmd_dota)):
if update_name == cmd_dota[index_update]:
name_new = input('请输入新的名字:')
page_dota[index_update+1] = name_new
info_new = input('请输入新的信息:')
info_dota[index_update] = info_new
break
elif user_cmd == 'exit':
exit(0)
elif not user_cmd in cmd_dota:
print('=' * 20)
print('输入指令有误!')
print('=' * 20)
elif user_cmd=='2':
while True:
for index_dnf_list in range(len(page_dnf)):
if index_dnf_list==0:
print(page_dnf[0])
elif index_dnf_list<=len(cmd_dnf):
print(cmd_dnf[index_dnf_list-1]+'.'+page_dnf[index_dnf_list])
else:
print(page_dnf[index_dnf_list])
user_cmd = input('请输入指令:')
for index_dnf in range(len(cmd_dnf)):
if user_cmd == cmd_dnf[index_dnf]:
print('=' * 20)
print(info_dnf[index_dnf])
print('=' * 20)
if user_cmd == 'back':
break
elif user_cmd == 'add':
name = input('请输入dnf人物名称:')
page_dnf.insert(len(page_dnf) - 5, name)
info = input('请输入%s的介绍:' % name)
info_dnf.append(info)
cmd_dnf.append(str(len(cmd_dnf)+1))
elif user_cmd=='del':
delete_name = input('请输入要删除的信息的id:')
for index_del in range(len(cmd_dnf)):
if delete_name == cmd_dnf[index_del]:
cmd_dnf.pop()
del page_dnf[index_del + 1]
del info_dnf[index_del]
break
elif user_cmd=='update':
update_name = input('请输入要修改的信息的id:')
for index_update in range(len(cmd_dnf)):
if update_name==cmd_dnf[index_update]:
name_new = input('请输入新的名字:')
page_dnf[index_update+1] = name_new
info_new = input('请输入新的信息:')
info_dnf[index_update] = info_new
break
elif user_cmd == 'exit':
exit(0)
elif not user_cmd in cmd_dnf:
print('=' * 20)
print('输入指令有误!')
print('=' * 20)
elif user_cmd=='exit':
break
else:
print('=' * 20)
print('输入指令有误!')
print('=' * 20)
结果:
-----Welcome to Page Turn-----
1.进入dota
2.进入dnf
输入“exit”退出
请输入指令:1
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:1
====================
我只会vt二连!
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:2
====================
孤儿卡尔!injoker!
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:3
====================
输入指令有误!
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:back
-----Welcome to Page Turn-----
1.进入dota
2.进入dnf
输入“exit”退出
请输入指令:1
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:add
请输入dota人物名称:萨尔
请输入萨尔的介绍:沉默
-----Welcome to Page dota-----
1.小小
2.卡尔
3.萨尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:3
====================
沉默
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
3.萨尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:update
请输入要修改的信息的id:3
请输入新的名字:宙斯
请输入新的信息:人头
-----Welcome to Page dota-----
1.小小
2.卡尔
3.宙斯
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:3
====================
人头
====================
-----Welcome to Page dota-----
1.小小
2.卡尔
3.宙斯
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:del
请输入要删除的信息的id:3
-----Welcome to Page dota-----
1.小小
2.卡尔
输入"back"返回上一级
输入"add"添加信息
输入"update"修改信息
输入"del"删除信息
输入“exit”退出
请输入指令:exit
Process finished with exit code 0
网友评论