11个基本的Python 面试问题和答案代码

360影视 2025-01-26 14:25 2

摘要:def print_negative_in_range(start, end): negative_numbers = [num for num in range(start, end + 1) if num < 0] return negative_numb

问题:编写一个 Python 程序来打印给定范围内的所有负数。

答:打印范围内的所有负数与打印正数类似,但条件更改为检查小于零的数字:

def print_negative_in_range(start, end): negative_numbers = [num for num in range(start, end + 1) if num

问题:编写一个 Python 程序来计算列表中的正数和负数的数量。

答:计算正数和负数涉及遍历列表并使用两个计数器:

def count_positive_negative(lst): positive_count = sum(1 for num in lst if num > 0) negative_count = sum(1 for num in lst if num

答:您可以使用列表推导式或 filter 函数从列表中删除多个元素:

def remove_multiple_elements(lst, elements_to_remove): return [num for num in lst if num not in elements_to_remove]# Examplemy_list = [10, 20, 30, 40, 50, 60]elements_to_remove = [20, 40, 60]print("List after removing elements:", remove_multiple_elements(my_list, elements_to_remove))

问题:编写一个 Python 程序,将一个列表中特定索引处的元素替换为另一个列表中的元素。

答:要将列表中特定索引处的元素替换为另一个列表中的元素,您可以迭代索引并执行 replacement :

def replace_elements(lst1, lst2, indices): for i, index in enumerate(indices): if index

解释:

问题:编写一个 Python 程序,将记录保留在列表中,该记录恰好包含元素 K 的 N 次出现。

答:要在列表中保留恰好出现 N 个特定元素 K 的元素,您可以使用 list comprehension :

def retain_with_n_occurrences(lst, k, n): return [item for item in lst if lst.count(k) == n]# Examplemy_list = [1, 2, 2, 3, 4, 2, 5, 2]k = 2n = 4print("List after retaining records with N occurrences of K:", retain_with_n_occurrences(my_list, k, n))

解释:

retain_with_n_occurrences 函数遍历列表中的每个元素,并检查列表中 k 的出现次数是否等于 n。只有满足此条件的元素才会保留在结果列表中。在此示例中,数字 2 在 my_list 中出现了四次,因此列表将按原样返回。

问题:编写一个 Python 程序,以使用 lambda 函数根据特定列对元组或列表列表进行排序。

答:您可以通过结合使用 sorted 函数和 lambda 函数,根据特定列对 Tuples 或列表列表进行排序:

def sort_by_column(lst, col_index): return sorted(lst, key=lambda x: x[col_index])# Examplemy_list = [(1, 'John', 45), (2, 'Jane', 34), (3, 'Doe', 29), (4, 'Alice', 40)]col_index = 2print("List sorted by column:", sort_by_column(my_list, col_index))

解释:

问题:编写一个 Python 程序来替换字符串列表中除给定字符之外的所有字符。

答:要替换字符串列表中除特定字符之外的所有字符,可以使用 list comprehension :

def replace_except(lst, char): return [''.join([c if c == char else '_' for c in string]) for string in lst]# Examplemy_list = ["apple", "banana", "cherry"]char = 'a'print("List after replacement:", replace_except(my_list, char))

解释:

replace_except 函数循环访问列表中的每个字符串,然后循环访问字符串中的每个字符。如果字符与给定字符 (char) 匹配,则保留该字符;否则,它将替换为下划线 (_)。结果是一个字符串列表,其中只有指定的字符保持不变。

问题:编写一个 Python 程序,从包含另一个列表中任何字符的字符串列表中删除单词。

答:要从字符列表中删除包含任何字符的单词,您可以将列表推导式与 any 函数结合使用:

def remove_words_with_chars(word_list, char_list): return [word for word in word_list if not any(char in word for char in char_list)]# Examplewords = ["apple", "banana", "cherry", "date"]chars_to_remove = ['a', 'e']print("List after removing words:", remove_words_with_chars(words, chars_to_remove))

解释:

问题:编写一个 Python 程序以从列表中的每个字符串中删除多个空格。

答:您可以使用 split 和 join 方法从列表中的字符串中删除多个空格:

def remove_multiple_spaces(string_list): return [' '.join(string.split) for string in string_list]# Examplemy_list = ["This is a test", "Remove extra spaces"]print("List after removing extra spaces:", remove_multiple_spaces(my_list))

解释:

问题:编写一个 Python 程序,在字符串中没有空格的单词之间添加一个空格。

答:要在字符串中不用空格分隔的单词之间添加空格(假设单词是驼峰式大小写或一起运行),您可以使用正则表达式:

import redef add_space_between_words(string): return re.sub(r'(?

解释:

问题:编写一个 Python 程序来筛选字符串列表,其中第二个列表中的相应索引包含给定的子字符串。

答:要根据第二个列表中的子字符串过滤字符串列表,可以使用 list comprehension :

def filter_by_substring(list1, list2, substring): return [s for s, t in zip(list1, list2) if substring in t]# Examplelist1 = ["apple", "banana", "cherry", "date"]list2 = ["fruit_apple", "fruit_banana", "fruit_cherry", "fruit_date"]substring = "apple"print("Filtered list:", filter_by_substring(list1, list2, substring))

解释:

filter_by_substring 函数使用 zip 函数同时迭代这两个列表。它检查子字符串是否存在于 list2 的相应元素中。如果是这样,则 list1 中的相应元素将包含在结果中。此方法根据 list2 中是否存在子字符串来有效地过滤 list1。

来源:自由坦荡的湖泊AI

相关推荐