(1)使用count函数找出列表中出现次数最多的元素,以及该元素出现的次数。 (2)定义一个列表,将列表中重复的元素去掉,只保留一个即可。 (3)实现电子刮刮乐奖票。 (4)使用列表实现好友通讯录的增删查改
时间: 2024-10-09 08:06:52 浏览: 120
(1)在Python中,可以使用collections模块中的Counter函数来找出列表中出现次数最多的元素及其出现次数。首先导入Counter,然后创建一个Counter对象,对列表元素进行计数,最后取Counter的most_common()方法获取出现频率最高的元素及次数:
```python
from collections import Counter
def most_frequent_element(lst):
counter = Counter(lst)
most_common = counter.most_common(1)
return most_common[0][0], most_common[0][1]
# 示例
lst = [1, 2, 2, 3, 3, 3, 4]
element, frequency = most_frequent_element(lst)
print(f"出现次数最多的元素是 {element},出现了 {frequency} 次")
```
(2)要去除列表中的重复元素并保留第一个实例,可以使用set数据结构,因为集合不允许有重复项。然后将set转换回列表:
```python
def remove_duplicates(lst):
unique_list = list(dict.fromkeys(lst))
return unique_list
# 示例
lst = [1, 2, 2, 3, 3, 3]
unique_lst = remove_duplicates(lst)
print("去重后的列表:", unique_lst)
```
(3)实现简单的电子刮刮乐奖票,我们可以用字典存储奖项和对应的概率,随机选择一个奖项:
```python
import random
class ScratchTicket:
def __init__(self, tickets={}):
self.tickets = tickets
def scratch(self):
winning_numbers = random.choices(list(self.tickets.keys()), weights=list(self.tickets.values()))
return "恭喜你赢得了", winning_numbers[0]
# 示例
ticket = ScratchTicket({"大奖": 0.01, "小奖": 0.5, "谢谢参与": 0.98})
result = ticket.scratch()
print(result)
```
(4)对于好友通讯录的操作,可以使用列表或字典来保存朋友信息,并提供对应的方法来实现:
```python
class AddressBook:
def __init__(self):
self.contacts = {}
# 添加联系人
def add_contact(self, name, phone):
if name in self.contacts:
print("该联系人已存在!")
else:
self.contacts[name] = phone
print(f"添加了新的联系人:{name} - {phone}")
# 删除联系人
def delete_contact(self, name):
if name in self.contacts:
del self.contacts[name]
print(f"删除了联系人:{name}")
else:
print("找不到此联系人")
# 查找联系人
def search_contact(self, name):
if name in self.contacts:
return f"{name} 的电话号码是:{self.contacts[name]}"
else:
return f"未找到名为 {name} 的联系人"
# 修改联系人电话
def update_phone(self, name, new_phone):
if name in self.contacts:
self.contacts[name] = new_phone
print(f"更新了 {name} 的电话为:{new_phone}")
else:
print("找不到此联系人")
# 使用示例
address_book = AddressBook()
address_book.add_contact("张三", "13812345678")
address_book.search_contact("李四") # 等等...
```
阅读全文