004-列表练习题

1.已知一个数字列表,求列表中心元素。

list1 = [34, 590, 83, 2, 0, 13, 43]
if len(list1) % 2:
    print('中心元素 ', list1[len(list1) // 2]
else:
    print('中心元素 ', (list1[len(list1) // 2 - 1], list1[len(list1) // 2]))

2.已知一个数字列表,求所有元素和。

list1 = [34, 590, 83, 2, 0, 13, 43]
sum = 0
for i in list1:
    sum += i
print(sum)

3.已知一个数字列表,输出所有奇数下标元素。

list1 = [34, 590, 83, 2, 0, 13, 43]
for i,e in enumerate(list1):
    if e % 2:
        print(f'下标{i}, 元素{e}')
        
# 讲解:利用range直接取奇数下标
num_list = [10, 68, 90, 40]
for i in range(1, len(num_list), 2):
  print(num_list[i])

4.已知一个数字列表,将所有元素乘二。
例如:nums = [1, 2, 3, 4] —> nums = [2, 4, 6, 8]

list1 = [34, 590, 83, 2, 0, 13, 43]
list2 = []
for i in list1:
    list2.append(i * 2)
print(list2)

# 讲解
nums = [1, 2, 3, 4]
for i in range(len(nums)):
  # nums[i] = nums[i] * 2
  nums[i] *= 2
print(nums)

5.用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分)
list1 = [10,99,20,45,78,98,95]

list1 = [10,99,20,45,78,98,95]
score_max = score_min = list1[0]
for i in list1[1:]:
    if i > score_max:
        score_max = i
    if i < score_min:
        score_min = i
list1.remove(score_min)
list1.remove(score_max)
sum = 0
for j in list1:
    sum += j
print('平均分:', sum / len(list1))

6.有两个列表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 = []
for i in A:
    for j in B:
        if i == j:
            C.append(i)
            break
print(C)

7.有一个数字列表,获取这个列表中的最大值.(注意: 不能使用max函数)

例如: nums = [19, 89, 90, 600, 1] —> 600

nums = [19, 89, 90, 600, 1]
num_max = nums[0]
for i in nums[1:]:
    if num_max < i:
        num_max = i
print(num_max)

8.生成一个存放1-100中个位数为3的数据列表

result = []
for i in range(3, 100, 10):
    print(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值