创建一个空列表,使用该列表存储联系人信息
时间: 2024-10-14 17:08:51 浏览: 5
创建一个空列表来存储联系人信息是一个常见的操作,特别是在需要动态添加和管理数据的应用程序中。在Python中,你可以这样做:
```python
# 创建一个空列表来存储联系人信息
contacts = []
# 如果你想给这个列表添加结构,可以定义元组或字典作为元素示例:
# 添加联系人的姓名、电话和电子邮件
contact1 = {"name": "张三", "phone": "13800138000", "email": "zhangsan@example.com"}
contacts.append(contact1)
# 同样,你可以添加多个这样的元素
contact2 = {"name": "李四", "phone": "13900139000", "email": "lisi@example.com"}
contacts.append(contact2)
# 现在,`contacts` 列表包含了两个联系人的信息
```
如果你想要直接添加包含所有属性的简单列表,也可以这样做:
```python
contacts = [
["张三", "13800138000", "zhangsan@example.com"],
["李四", "13900139000", "lisi@example.com"]
]
```
相关问题
创建一个python的代码 (1)创建一个空列表,使用该列表存储联系人信息; (2)打印通讯录的功能菜单; (3)创建一个空字典,使用该字典存储联系人的姓名、手机号、邮箱和地址信息。 (4)接收用户输入的功能序号,并根据输入的序号执行相应的操作:用户输入“1”执行增加字典元素的操作;用户输入“2”执行查看字典的操作;用户输入“3”执行删除字典元素的操作;用户输入“4”执行修改字典元素的操作;用户输入“5”执行遍历字典元素的操作;用户输入“6”执行结束程序的操作。
以下是实现上述功能的Python代码:
```python
contacts = []
def print_menu():
print("通讯录功能菜单:")
print("1. 增加联系人信息")
print("2. 查看联系人信息")
print("3. 删除联系人信息")
print("4. 修改联系人信息")
print("5. 遍历联系人信息")
print("6. 结束程序")
def add_contact():
contact = {}
contact['姓名'] = input("请输入联系人姓名:")
contact['手机号'] = input("请输入联系人手机号:")
contact['邮箱'] = input("请输入联系人邮箱:")
contact['地址'] = input("请输入联系人地址:")
contacts.append(contact)
print("联系人信息已添加!")
def view_contact():
if not contacts:
print("通讯录为空!")
else:
for i, contact in enumerate(contacts):
print("序号:", i+1)
print("姓名:", contact['姓名'])
print("手机号:", contact['手机号'])
print("邮箱:", contact['邮箱'])
print("地址:", contact['地址'])
print()
def delete_contact():
if not contacts:
print("通讯录为空!")
else:
index = int(input("请输入要删除的联系人序号:")) - 1
if index < 0 or index >= len(contacts):
print("序号输入错误!")
else:
del contacts[index]
print("联系人已删除!")
def modify_contact():
if not contacts:
print("通讯录为空!")
else:
index = int(input("请输入要修改的联系人序号:")) - 1
if index < 0 or index >= len(contacts):
print("序号输入错误!")
else:
contact = contacts[index]
contact['姓名'] = input("请输入联系人姓名:")
contact['手机号'] = input("请输入联系人手机号:")
contact['邮箱'] = input("请输入联系人邮箱:")
contact['地址'] = input("请输入联系人地址:")
print("联系人信息已修改!")
def traverse_contact():
if not contacts:
print("通讯录为空!")
else:
for i, contact in enumerate(contacts):
print("序号:", i+1)
print("姓名:", contact['姓名'])
print("手机号:", contact['手机号'])
print("邮箱:", contact['邮箱'])
print("地址:", contact['地址'])
print()
while True:
print_menu()
choice = input("请输入要执行的功能序号:")
if choice == '1':
add_contact()
elif choice == '2':
view_contact()
elif choice == '3':
delete_contact()
elif choice == '4':
modify_contact()
elif choice == '5':
traverse_contact()
elif choice == '6':
print("程序已结束!")
break
else:
print("功能序号输入错误!")
```
尾插法创建联系人链表
尾插法是一种在链表中高效插入新元素的方法,特别是在创建或修改已排序的动态联系人列表(如电话簿)时特别适用。它的基本思想是在链表的最后一个节点之后直接添加新节点,而无需遍历整个链表寻找插入位置。
以下是尾插法创建联系人链表的过程:
1. 初始化:如果链表为空,就创建一个新的节点作为头结点,并将其地址赋给链表指针。
2. 插入操作:对于每一个新的联系人,首先创建一个新的节点,存储联系人的信息(比如姓名、电话号码等)。然后,将这个新节点的`next`指针指向当前链表的最后一个节点。
3. 链表更新:每次添加一个节点后,都不用改变其他节点的指针,因为新节点自动成为了最后一个节点。
这种方法的优势在于时间复杂度为O(1),无论链表大小如何,插入新节点几乎不增加查找和更新的时间。但需要注意的是,如果经常在链表头部插入,尾插法则不如头插法高效,因为它会频繁地移动节点。
阅读全文