不知道有没有人留意到,在第35天的完成作业里,第32天的作业代码中,第19行跟第23行都有list(),有人想过这个代码是什么意思吗?
核心方法/函数:
tuple()
主要特点或注意事项:数据变为不可变,更安全。
# 1. 创建一个列表list1 = [10, 20, 30]print("原始列表:", list1 )print("列表类型:", type(list1))# 2.使用tuple()函数将列表转换为元组tuple1 = tuple(list1)print("转换后的元组:", tuple1)print("元组类型:", type(tuple1))
核心方法/函数:
list()
主要特点或注意事项:数据变为可变,可进行增删改。
# 1. 创建一个元组tuple1 = (10, 20, 30)print("原始元组:", tuple1)print("元组类型:", type(tuple1))# 2.使用list()函数将元组转换为列表list1 = list(tuple1)print("转换后的列表:", list1)print("列表类型:", type(list1))
核心方法/函数:
list()或split()
主要特点或注意事项:list()按字符分割;split()按分隔符分割。
# list()# 示例1:基本用法string1 = "hi"list1 = list(string1)print(list1)# 示例2:观察空格和标点符号的处理string2 = "Hello, World!"list2 = list(string2)print(list2)
# split()# 示例1:使用默认分隔符(空格)string1 = "a b"list1 = string1.split() print(list1)# 示例2:使用自定义分隔符(例如逗号)string2 = "apple,banana,orange"list2 = string2.split(',')print(list2)# 示例3:限制分割次数(maxsplit参数)string3 = "one two three four"list3 = string3.split(' ', 2) print(list3)
核心方法/函数:
join()
主要特点或注意事项:列表元素必须全是字符串。
char_list = ['h', 'i']# 示例1:无分隔符result1 = ''.join(char_list)print("无分隔符:", result1)# 示例2:使用连字符作为分隔符result2 = '-'.join(char_list)print("连字符分隔:", result2)# 示例3:使用空格作为分隔符result3 = ''.join(char_list)print("空格分隔:", result3) # 示例4:使用多个字符作为复杂分隔符result4 = ' * '.join(char_list)print("复杂分隔符:", result4)
核心方法/函数:
tuple()和join()
主要特点或注意事项:与列表类似,注意 join()的使用条件。
# 字符串 --> 元组# 示例1:转换包含空格和标点的字符串text = "Oh no!"text_tuple = tuple(text)print(text_tuple) # 示例2:转换数字字符串number_str = "123"number_tuple = tuple(number_str)print(number_tuple) # 示例3:单字符字符串single_char_tuple = tuple("A")print(single_char_tuple) # 示例4:空字符串empty_tuple = tuple("")print(empty_tuple)
# 字符串 <-- 元组元组char_tuple = ('h', 'i')# 示例1:无连接符result1 = ''.join(char_tuple)print("无连接符:", result1)# 示例2:使用连字符result2 = '-'.join(char_tuple)print("连字符连接:", result2)# 示例3:使用空格result3 = ''.join(char_tuple)print("空格连接:", result3)# 示例4:使用多个字符result4 = ' -> '.join(char_tuple)print("箭头连接:", result4)
核心方法/函数:
set()
主要特点或注意事项:自动去重,但丢失元素顺序。
# 1. 定义一个包含重复元素的列表original_list = [1, 2, 2, 3]print("原始列表:", original_list)print("原始列表类型:", type(original_list))# 2. 使用set()函数将列表转换为集合result_set = set(original_list)print("转换后的集合:", result_set)print("转换后的类型:", type(result_set))# 3. 验证转换结果print("列表中元素个数 (含重复):", len(original_list))print("集合中元素个数 (去重后):", len(result_set))
核心方法/函数:
list()/tuple()
主要特点或注意事项:顺序可能不确定。
# 1. 创建一个集合my_set = {1, 3, 2} # 集合是无序的,打印顺序可能不同print("原始集合:", my_set)print("集合类型:", type(my_set))# 2. 使用list()函数将集合转换为列表my_list = list(my_set)print("转换后的列表:", my_list) # 转换后的列表顺序可能与集合打印顺序一致,但这是不确定的print("列表类型:", type(my_list))
# 定义一个集合my_set = {5, 2, 8, 2, 1} # 集合会自动去重,所以只有一个‘2’print("原始集合:", my_set) # 输出顺序不确定# 使用tuple()函数将集合转换为元组my_tuple = tuple(my_set)print("转换后的元组:", my_tuple)
核心方法/函数:
list()/tuple()配合.keys(),.values(),.items()
主要特点或注意事项:可灵活转换键、值或键值对。
# 字典 --> 列表# 1. 创建一个字典my_dict = {'a': 1}print("原始字典:", my_dict)print("原始字典类型:", type(my_dict))# 2. 使用 .keys() 方法获取键的视图对象keys_view = my_dict.keys()print("keys() 返回的视图对象:", keys_view)print("视图对象类型:", type(keys_view))# 3. 使用 list() 函数将视图对象转换为列表keys_list = list(my_dict.keys()) # 或者直接写 list(my_dict)print("转换后的键列表:", keys_list)print("键列表类型:", type(keys_list))
# 字典 --> 元组# 创建一个示例字典my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}print("原始字典:", my_dict)# 1. 将字典的键转换为元组keys_tuple = tuple(my_dict)print("字典的键组成的元组:", keys_tuple) # 2. 将字典的键值对转换为元组items_tuple = tuple(my_dict.items())print("键值对组成的元组:", items_tuple)
核心方法/函数:
dict()和zip()
主要特点或注意事项:将两个列表对应元素打包成键值对。
# zip()# 1. 定义两个列表,一个作为键(key),一个作为值(value)keys_list = ['a', 'b']values_list = [1, 2]print("键列表:", keys_list)print("值列表:", values_list)# 2. 使用 zip() 函数将两个列表对应位置的元素打包成元组,生成一个 zip 对象zipped_pairs = zip(keys_list, values_list)print("zip() 后的对象:", zipped_pairs)print("转换为列表查看:", list(zipped_pairs))# 重要:zip 对象是迭代器,上一行已遍历完,这里需要重新创建zipped_pairs = zip(keys_list, values_list)# 3. 使用 dict() 函数直接将 zip 对象转换为字典result_dict = dict(zipped_pairs)print("最终生成的字典:", result_dict)
今日学习完毕,课后作业:
有一段文本"apple banana orange apple banana apple",请按照以下要求进行操作:
1、按空格分割字符串,得到单词列表;
2、去重,得到不重复的单词集合;
3、统计原始文本中每个单词出现的次数;
4、将第3步的结果转换为元组列表。