• 张驰皓
    2023-08-29 来自北京
    #新增一个列表来存放通讯录内容 address_book=[{'allen':{'name':'allen','nickname':'','email':'allen@123.com','phone':['187','137']}}, {'jack':{'name':'jack','nickname':'jackchen','email':'jack@123.com','phone':['187','137']}}] print(address_book) #在通讯录列表里插入一个联系人(插入内容是字典时,不能直接用 append 方法,需要先把字段赋值给一个变量然后再用 append) mary={'mary': {'name': 'mary', 'nickname': 'mali', 'email': 'mary@123.com', 'phone': ['187', '137']}} address_book.append(mary) print(address_book) #删除一个联系人 result=address_book.pop(2) print(result) print(address_book) 发现一个问题,在删联系人的时候,如果要删一个指定且不知道在列表里位置的联系人,用现在这个数据结构好像是不太好做到的。
    展开

    作者回复: 抛开课程为了练习列表和字典的操作, 通讯录是一个列表,其中每个元素都是一个字典。这种结构确实在删除特定联系人时可能会遇到问题,因为您需要知道联系人在列表中的索引。 为了方便地添加、查询和删除联系人,我们可以将通讯录从列表更改为字典。这样,联系人的名字可以作为键,而与之关联的信息可以作为值。这会让增加、查询和删除操作变得更为简单和直观。 address_book = { 'allen': {'name':'allen','nickname':'','email':'allen@123.com','phone':['187','137']}, 'jack': {'name':'jack','nickname':'jackchen','email':'jack@123.com','phone':['187','137']} } 这样就方便增删改查了

    
    
  • Forest
    2023-06-03 来自四川
    # 设计一个字典数据类型用于存储通讯录,通讯录中包含:必须填写的姓名、可以为空的备注名、1 个邮箱,至少 2 个手机号码,并尝试增加和删除联系人。 address_book = [ {'name': 'John Smith', 'nickname': 'Johnny', 'email': 'john.smith@example.com', 'phone_number': ['+1 555-123-4567', '+1 555-987-6543']}, {'name': 'Emily Davis', 'nickname': 'Em', 'email': 'emily.davis@example.com', 'phone_number': ['+1 555-777-8888']} ] # create new_user = {'name': 'Bob Johnson', 'nickname': 'Bobby', 'email': 'bob.johnson@example.com', 'phone_number': ['+1 555-333-4444', '+1 555-555-5555']} address_book.append(new_user) print(json.dumps(address_book, indent=4)) # delete for item in address_book: if item.get('nickname') == 'Andrew': address_book.remove(item) print(json.dumps(address_book, indent=4)) # update for index, item in enumerate(address_book): if item['nickname'] == 'Em': address_book[index]['phone_number'][0] = '+2 222-1234-1234' print(json.dumps(address_book, indent=4))
    展开
    
    4
  • 杳杳
    2023-02-13 来自浙江
    address_book = {'Cecilia': [{'Nickname': 'Cici'}, {'Email':'cici@123.com'}, {'Number': [1234567, 9999999]}]} print(address_book) # 增加联系人 address_book.setdefault('Elizabeth', [{'Nickname': None}, {'Email':'liz@123.com'}, {'Number': [6666666, 7777777]}]) print(address_book) # 删除联系人 address_book.pop('Elizabeth') print(address_book)
    
    3
  • 水里捞鱼
    2023-02-12 来自北京
    分析:假定一条记录用字典来存储,每条记录中包含姓名(字符串)、备注名(列表of字符串,可能有多个或0个)、邮箱(假定只有一个,字符串)、手机号(至少2个,用列表)。多条记录用字典存储,假定没有重名用户。 因此: 1. contactinfo_records = dict() 2. contactinfo = {'contact_name': 'jojo', 'alias':[], 'email': "jojo@jojo.com", 'phone_nums': [xxx,xxx]} 3. 添加:contactinfo_records['jojo'] = contactinfo 4. 删除:contactinfo_records.pop('jojo')
    
    1
  • 叫我阿咩就好
    2022-11-28 来自广东
    #第一種方式 address_book = [ {'name':"keith"}, {"nick":""}, {"email":"abc@abc.com"}, {"num1":"13141523142"}, {"num2":"13828394274"}, ] print(address_book) #第二種方式 address_book2 = { "name1":"Kieth", "nick1":"", "email1":"123@kk.com", "num3":["13331113321","131231412334"] } print(address_book2)
    
    1
  • Guan YD
    2023-07-17 来自陕西
    tel_dict = { "guanyd":{ "remark":"", "email":"guanyd@163.com", "telepent":["13303483877"] } } add_dict = { "zhangsan":{ "remark":"22222", "email":"zhangsan@163.com", "telepent":["13300009999"] } } add_value = tel_dict.setdefault("zhangsan",add_dict) print(add_dict) print(tel_dict) del_value = tel_dict.pop("zhangsan") print(del_value) print(tel_dict)
    
    
  • 不再是入门水平pytho...
    2023-07-13 来自上海
    # 通讯录 dict_directory = {'name':['remark_name','mail','first_number','second_number']} print(dict_directory) dict_directory.setdefault('nelson',['yang','yang@gmail.com','13263771768','12934555098']) # 增加 print(dict_directory) del_dict = dict_directory.pop('name') # 删除 print(del_dict) print(dict_directory)
    
    
  • Geek_Mike
    2023-06-09 来自云南
    # 设计一个字典数据类型用于存储通讯录,并尝试增加和删除联系人 user_name = input('请输入你的姓名:') nick_name = input('请输入你的备注名称:') mail_address = input('请输入你的邮箱地址:') phone_number1 = input('请输入你的主要手机号:') phone_number2 = input('请输入你的备用手机号:') list1 = [nick_name, mail_address, phone_number1, phone_number2] var1 = user_name dict1 = {var1: list1} print(dict1) dict1.setdefault('Leo') print(dict1) dict1.pop('Leo') print(dict1)
    共 1 条评论
    
  • 麥白
    2023-02-24 来自上海
    address_book = { {"姓名": "张三", "备注名": "zhangsan", "邮箱": "zhangsan@qq.com", "电话号码01": "13000000001", "电话号码02": "13000000002", "电话号码03": "13000000003"}, {"姓名": "李四", "备注名": "lisi", "邮箱": "lisi@qq.com", "电话号码01": "14000000001", "电话号码02": "14000000002"} }
    共 1 条评论
    
  • sunny
    2023-01-19 来自江苏
    address_book={ "zhangsan":["phone_num1","phone_num2","email_zhangsan","comment1"], "lisi": ["phone_num3", "phone_num4", "email_lisi", "comment2"] } address_book.setdefault("wangwu",["phone_num3", "phone_num4", "email_lisi", "comment2"]) print(f"add user result {address_book.items()}") #if user exist ,delete it del_name = "zhangsan" if del_name in address_book: address_book.pop("zhangsan") print(f"pop user result {address_book.items()}")
    
    