Python:列表小练习

①给定一个列表 numbers = [10, 2, 8, 8, 4, 6, 6, 5, 3, 7, 9, 1],编写程序实现以下操作:

a)创建新的列表,其中每个元素是原列表中的元素的平方;

b)移除列表中的重复项;

c)反转列表,删除第二小的数字。

numbers = [10, 2, 8, 8, 4, 6, 6, 5, 3, 7, 9, 1]

#a)
sqr = [x ** 2 for x in numbers]
print("新列表为:", sqr)

#b)
numbers = list(dict.fromkeys(numbers)) #字典的键是唯一的
print("删除重复项后:", numbers)

#c)
numbers.reverse()
sorted_numbers = sorted(numbers)
numbers.remove(sorted_numbers[1])
print("反转并删除第二小的数:", numbers)

 

②定义一个列表 sentences = ['Hello world', 'Python is fun', 'Programming is exciting'],编写程序实现以下操作:

a)创建一个新的列表,其中每个元素是原列表中句子的单词数量;

b)将列表中所有句子的单词连接成一个字符串,单词之间用空格分隔;

c)找出列表中句子长度最长的句子。

sentences = ['Hello world', 'Python is fun', 'Programming is exciting']

#a)
word_count = [len(sentence.split()) for sentence in sentences]
print('单词数量:', word_count)

#b)
all_words = ' '.join(' '.join(sentence.split()) for sentence in sentence)
print('连接后的字符串:', all_words)

#c)
longest_sentence = max(sentences, key = len)
print('最长的句子:', longest_sentence)

③利用递归函数计算列表中所有元素的总和

def re_sum(numbers):
    #若列表为空,则返回0
    if not numbers:
        return 0
    #递归
    else:
        return numbers[0] + re_sum(numbers[1:])

numbers = [1, 2, 3, 4, 5]
print('所有元素的总和:', re_sum(numbers))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值