①给定一个列表 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))