首页/文章/ 详情

ANSA二次开发_Python基础-字典

1月前浏览2221

回顾一下以前的笔记,便于以后的查看,以ANSA二次开发作为基础,记录下用到的基础知识。

字符串、列表、字典将以修改part的名字为例进行演示。

    import ansafrom ansa import basefrom ansa import constantspart = base.GetFirstEntity(constants.NASTRAN,"ANSAPART")vals = ('Name', 'Module Id')ret = base.GetEntityCardValues(constants.NASTRAN,part, fields=vals) oldname = ret['Name']print (oldname)# 固定字符串,测试时可以将该行注释s = "HWCOLOR PROP 1001199 24"keys = s.split()my_dict = {key: index for index, key in enumerate(keys)}print(my_dict)str_from_dict = ""for key, value in my_dict.items():    str_from_dict += f"{key} {value} "print(str_from_dict) #HWCOLOR 0PROP 11001199 224 3vals = {'Name':str_from_dict,}# ANSA命名是会自动将首位的空格字符移除base.SetEntityCardValues(constants.NASTRAN, part, vals)

    这是基础的修改代码,后续皆可使用上述代码进行测试

    我们需要将字符串 "HWCOLOR PROP 1001199 24" 转换为字典形式,才能调用字典的方法。
    1. 创建字典 
     通过将字符串转换为字典
      s = "HWCOLOR PROP 1001199 24" keys = s.split() my_dict = {key: index for index, key in enumerate(keys)} print("创建字典:", my_dict) #{'HWCOLOR': 0, 'PROP': 1, '1001199': 2, '24': 3} 
      单层字典转化为字符串
        my_dict = {"HWCOLOR": 0, "PROP": 1, "1001199": 2, "24": 3}str_from_dict = ""for key, value in my_dict.items():    str_from_dict += f"{key} {value}"print(str_from_dict) #HWCOLOR 0PROP 11001199 224 3
        2. get() 方法 
         返回指定键的值
          print("get()方法:", my_dict.get("HWCOLOR")) #get()方法: 0
          3. items() 方法 
           以列表返回可遍历的(键, 值) 元组数组
            print("items()方法:", list(my_dict.items()))#items()方法: [('HWCOLOR', 0), ('PROP', 1), ('1001199', 2), ('24', 3)]
            4. keys() 方法 
             返回所有key
              print("keys()方法:", list(my_dict.keys()))#keys()方法: ['HWCOLOR', 'PROP', '1001199', '24']
              5. values() 方法 
               返回所有值
                print("values()方法:", list(my_dict.values()))#values()方法: [0, 1, 2, 3]
                6. update() 方法 
                更新字典的值
                  my_dict.update({"NEW_KEY": 4})print("update()方法:", my_dict)#update()方法: {'HWCOLOR': 0, 'PROP': 1, '1001199': 2, '24': 3, 'NEW_KEY': 4}
                  7. pop() 方法 
                  删除字典给定键 key 所对应的值,返回这个值
                    popped_value = my_dict.pop("NEW_KEY")print("pop()方法:", my_dict)#pop()方法: {'PROP': 1, '1001199': 2, '24': 3}print("被pop出的值:", popped_value)#被pop出的值: 0
                    8. popitem() 方法 
                     随机返回并删除字典中的最后一对键和值
                      popped_item = my_dict.popitem()print("popitem()方法:", my_dict)#popitem()方法: {'HWCOLOR': 0, 'PROP': 1, '1001199': 2}print("被popitem出的键值对:", popped_item)#被popitem出的键值对: ('24', 3)

                      9. clear() 方法 
                       清空字典
                        my_dict.clear()
                        10. copy() 方法 
                         返回字典的浅复 制
                          my_dict_copy = my_dict.copy()print("copy()方法:", my_dict_copy)
                          11. setdefault() 方法 
                           如果键不存在于字典中,将会添加键并将值设为默认值
                            my_dict.setdefault("NEW_KEY", None)print("setdefault()方法:", my_dict)#setdefault()方法: {'HWCOLOR': 0, 'PROP': 1, '1001199': 2, '24': 3, 'NEW_KEY': None}
                            12. fromkeys() 方法 
                             创建一个新字典,以序列中元素做字典的键,value为字典所有键对应的初始值
                              new_keys = ["key1", "key2", "key3"]new_dict = dict.fromkeys(new_keys, "default_value")print("fromkeys()方法:", new_dict)#fromkeys()方法: {'key1': 'default_value', 'key2': 'default_value', 'key3': 'default_value'}
                              来源:CAEer
                              Nastran二次开发ANSApythonUM
                              著作权归作者所有,欢迎分享,未经许可,不得转载
                              首次发布时间:2024-03-04
                              最近编辑:1月前
                              团长
                              硕士 | 白车身结构设... 专注ANSA使用技巧-*****『CAEer』...
                              获赞 101粉丝 828文章 120课程 6
                              点赞
                              收藏
                              未登录
                              还没有评论

                              课程
                              培训
                              服务
                              行家

                              VIP会员 学习 福利任务 兑换礼品
                              下载APP
                              联系我们
                              帮助与反馈