Python-练脑系列-02基础数据结构题

今天再来一次练脑。本章题目先对基础,所以,你懂的

1、给定一个列表,去除其中重复的元素,并返回新的列表。

2、给定一个字典和一个键,返回字典中对应键的值,如果键不存在则返回默认值。

3、给定两个列表,找出它们的差集,并返回结果的列表。

4、给定一个列表和一个整数 k,将列表中的元素按照 k 个一组进行分组,并返回分组后的列表。

5、给定一个列表,将其中所有的字符串转换为小写,并返回新的列表。

第一题解

这题,难易程度,个人觉得十分基础了。

# 给定一个列表,去除其中重复的元素,并返回新的列表。
list_ = [1, 1, 2, 3, 4, 5, 4, 3, 2]
print(id(list_))
new_list_ = list(set(list_))
print(id(new_list_), new_list_)
"""
2231892990464
2231892991040 [1, 2, 3, 4, 5]
"""

最简单的解法,没有之一了吧。如果有,欢迎后台留言,学习学习。

再来一个其他的解法

list_ = [1, 1, 2, 3, 4, 5, 4, 3, 2]
new_list_ = []
for i in list_:
    if i not in new_list_:
        new_list_.append(i)
print(id(list_), id(new_list_), new_list_)

第二题解

这题,也是十分基础的

# 2、给定一个字典和一个键,返回字典中对应键的值,如果键不存在则返回默认值。
dict_ = {"name":"清安",'age':18}
key = "name"
key1 = "QINGQAN"
print(dict_.get(key,"键不存在"))
print(dict_.get(key1,"键不存在"))
"""
清安
键不存在
"""

当然,你可以使用if-else判断一下也是可以达到效果的

第三题解

这里主要还是运送了集合,并且难度,easy。

# 3、给定两个列表,找出它们的差集,并返回结果的列表。
my_list1 = [1, 2, 3, 4, 5]
my_list2 = [4, 5, 6, 7, 8]

print(list(set(my_list1)-set(my_list2))+list(set(my_list2)-set(my_list1)))

print([i for i in my_list1 if i not in my_list2 ] + [j for j in my_list2 if j not in my_list1])
"""
[1, 2, 3, 8, 6, 7]
"""

上面给出了两种解法

第四题解

# 4、给定一个列表和一个整数 k,将列表中的元素按照 k 个一组进行分组,并返回分组后的列表。
list_ = [1, 2, 3, 4, 5, 6, 7, 8, 9]
k = 3
new_list_ = [list_[i:i+k] for i in range(0, len(list_), k)]
print(new_list_)
"""
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
"""

第五题解

这题基本上没啥难度,学过即会

# 5、给定一个列表,将其中所有的字符串转换为小写,并返回新的列表。
list_ = ["QING","AN"]
print([i.lower() for i in list_])
"""
['qing', 'an']
"""

最后附上代码gitee地址:https://gitee.com/qinganan_admin/python-article-sample-code/blob/master/Python%E9%A2%98%E7%9B%AE2-%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E9%A2%98

你可能感兴趣的:(python,数据结构,开发语言)