Python数据类型 -- 列表习题

本文通过三个具体的编程实例,展示了如何使用Python操作元组与列表,包括元组转换为列表并修改其元素,利用列表推导生成特定格式的列表,以及探讨列表引用与删除等问题。
一: 已知:元组 a = (1,2,3) 利用list方法,输出下面的结果:(1,2,4) ?

a = (1,2,3)
b = list((1,2,3))
b[2] = 4
a = tuple(b)
print a
print type(a)

二: 利用列表推导完成下面习题:
1 输出结果:[1 love python,2 love python,3 love python,.... 10 love python]
print ["%s love pyton" % x for x in range(1,11)]
2 输出结果:[(0,0),(0,2),(2,0),(2,2)]
print [(x,y) for x in range(2) for y in range(2)]

三:
a = [1,2,3]
b = a[:]
del a
b的值是什么。为什么呢?
清空列表a的元素,b是对a列表的引用
### Python 数据类型习题及答案 以下是几个关于 Python 数据类型的经典练习题及其详细解答,涵盖字符串、列表、字典等常见数据类型的使用。 #### 1. 字符串操作 **题目:** 给定一个字符串 `s = "Python is good"`,完成以下任务: - 将字符串中的第一个字符替换为大写的 `'Y'`。 - 提取子字符串 `"hon is "`。 - 将整个字符串转换为全小写形式。 - 替换字符串中的 `'o'` 为 `'0'`。 **答案:** - 第一步可以通过切片和拼接实现:`'Y' + s[1:]` 结果为 `'Yython is good'`。 - 提取子字符串可以使用切片:`s[3:11]` 结果为 `'hon is '`。 - 转换为小写可以直接调用 `.lower()` 方法:`s.lower()` 结果为 `'python is good'`。 - 替换字符可以使用 `.replace()` 方法:`s.replace('o', '0')` 结果为 `'Pyth0n is g00d'` [^1]。 #### 2. 列表操作 **题目:** 创建一个列表 `my_list = [1, 2, 3, 4, 5]`,然后执行以下操作: -列表末尾添加数字 `6`。 - 删除索引位置为 `2` 的元素。 - 反转列表顺序。 **答案:** - 添加元素可以使用 `.append()` 方法:`my_list.append(6)`,此时列表变为 `[1, 2, 3, 4, 5, 6]`。 - 删除指定索引的元素可以使用 `del` 或 `.pop()`:`del my_list[2]`,此时列表变为 `[1, 2, 4, 5, 6]`。 - 反转列表可以直接调用 `.reverse()` 方法:`my_list.reverse()`,最终列表变为 `[6, 5, 4, 2, 1]` [^1]。 #### 3. 字典操作 **题目:** 编写一段代码,统计用户输入的一句话中每个单词出现的次数,并按字母顺序输出结果。 **答案:** ```python words_dict = {} sentence = input("请输入一句话:") words_list = sentence.split() for word in words_list: count = words_list.count(word) words_dict[word] = count sorted_words = sorted(words_dict.items()) for word, count in sorted_words: print(f"{word} {count}") ``` 这段代码首先通过 `input()` 获取用户输入,接着使用 `.split()` 分割成单词列表。之后遍历列表统计每个单词的出现次数并存储在字典中。最后将字典按键排序,并逐项打印出单词及其计数 [^2]。 #### 4. 集合操作 **题目:** 给定两个集合 `set_a = {1, 2, 3}` 和 `set_b = {3, 4, 5}`,求它们的交集、并集以及差集。 **答案:** - 交集可以通过 `.intersection()` 方法或运算符 `&` 实现:`set_a & set_b` 结果为 `{3}`。 - 并集可以通过 `.union()` 方法或运算符 `|` 实现:`set_a | set_b` 结果为 `{1, 2, 3, 4, 5}`。 - 差集可以通过 `.difference()` 方法或运算符 `-` 实现:`set_a - set_b` 结果为 `{1, 2}` [^1]。 #### 5. 元组操作 **题目:** 创建一个元组 `t = (1, 2, 3)`,尝试修改其中的某个元素值会发生什么? **答案:** 由于元组是不可变的数据结构,因此直接尝试修改元组中的某个元素会引发 `TypeError` 异常。例如,如果执行 `t[0] = 4`,程序会抛出错误提示“'tuple' object does not support item assignment” [^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值