<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 字典 Dict `Dict`用`{ }`表示,是可變的,且可存儲任意類型對象,其概念基于生活中的字典原型,使用『名稱-內容』對數據進行構建。 ## 特點 * 字典中的數據必須以鍵值對(key-value)形式出現 * 鍵不可重復(鍵重復時,只會記住該鍵對應的最后一個值);值可重復 * 鍵(key)是不可變對象,不能進行修改;值(value)是可以修改的,可以是任意對象 ## 基礎操作 `Dict`根據`key`來計算`value`的存儲位置。如果`key`可變,每次計算相同`key`得出的結果不同,那`Dict`內部就亂套了。 ```python # 鍵必須不可變,所以可以用數字,字符串或元組充當,所以用列表就不行 dict1 = {'name':'Tommy', 'age':25, 'sex':'male', 'extra':'unmarried'} dict2 = {38.5:'Today is hot', ('x','y'):(1,2)} print('dict1:', dict1) print('dict2:', dict2) # 訪問某個元素 print("dict1里的name dict1['name']:", dict1['name']) print("dict2里的('x','y') dict2[('x','y')]:", dict2[('x','y')]) # 修改某個元素 dict1['age'] = 26 print("修改dict1里的age為26 dict1['age'] = 26:", dict1) # 刪除某個元素 del(dict1['extra']) print("刪除dict1里的extra del(dict1['extra']):", dict1) # 同一個鍵出現多次,只會記住最后一次 dict3 = {'name':'Tommy', 'age':25, 'name':'liuzhen153', 'name':'Liuzhen'} print('dict3:', dict3) # 鍵是否在dict中存在 print("鍵name是否在dict1中存在'name' in dict1 :" , 'name' in dict1) # 迭代 print('迭代輸出dict1每一項:') for key in dict1: print(key, dict1[key]) ``` **輸出結果** ``` dict1: {'name': 'Tommy', 'age': 25, 'sex': 'male', 'extra': 'unmarried'} dict2: {38.5: 'Today is hot', ('x', 'y'): (1, 2)} dict1里的name dict1['name']: Tommy dict2里的('x','y') dict2[('x','y')]: (1, 2) 修改dict1里的age為26 dict1['age'] = 26: {'name': 'Tommy', 'age': 26, 'sex': 'male', 'extra': 'unmarried'} 刪除dict1里的extra del(dict1['extra']): {'name': 'Tommy', 'age': 26, 'sex': 'male'} dict3: {'name': 'Liuzhen', 'age': 25} 鍵name是否在dict1中存在'name' in dict1 : True 迭代輸出dict1每一項: name Tommy age 26 sex male ``` ## 基礎函數 ```Python dict = {'name':'Tommy', 'age':25, 'sex':'male', 'extra':'unmarried'} print("計算dict長度,即鍵的總數 len(dict):", len(dict)) ``` **輸出結果** ``` 計算dict長度,即鍵的總數 len(dict): 4 ``` ## 基礎方法 ```Python dict = {'name':'Tommy', 'age':25, 'sex':'male', 'extra':'unmarried'} dict1 = {'age':27, 'company':'Baidu'} print("返回所有鍵 dict.keys():", dict.keys()) print("判斷dict中是否存在某個鍵 dict.__contains__('tall'):", dict.__contains__('tall')) print("返回指定鍵的值,如果值不在字典中返回default值 dict.get(key, default=None):", dict.get('lover','Chaochao')) print("dict.get()不會修改dict:", dict) print("返回指定鍵的值,如果值不在字典中返回default值并新增該鍵值對 dict.setdefault(key, default=None):", dict.setdefault('lover','Chaochao')) print("dict.setdefault()會修改dict:", dict) print('dict.items()返回可供遍歷的鍵值對:') for k,v in dict.items(): print(k, v) dict.update(dict1) print('dict.update(dict1)會將dict1中的鍵/值更新到dict里,相同鍵會更新值,不存在的會新增:', dict) print('返回字典中所有的值 dcit.values():', dict.values()) p = dict.pop('tall', 'not exits this key') print("dict.pop(key[,default]) 刪除key 所對應的值,返回值為被刪除的值。key值不給出時返回default值 dict.pop('tall', 'not exits this key'):", p) print('現在的dict:', dict) p = dict.popitem() print("隨機刪除并返回被刪除的一組鍵值對,如果字典已為空,會出現異常dict.popitem():", p) print('隨機刪除鍵值對后的dict:', dict) dict_copy = dict.copy() print('我是dict復制來的dict_copy:', dict_copy) dict_copy.clear() print('dict_copy清空后 dict_copy.clear():', dict_copy) # 復制和使用 = 賦值不同,復制產生了新的字典,對dict_copy的任何操作不影響dict print('dict_copy清空后的dict:', dict) # 使用 = 賦值時,所有的操作都會影響到dict本身 dict3 = dict print('我是賦值來的dict3:', dict3) dict3.clear() print('dict3清空后 dict3.clear():', dict3) print('dict3清空后的dict:', dict) ``` **輸出結果** ``` 返回所有鍵 dict.keys(): dict_keys(['name', 'age', 'sex', 'extra']) 判斷dict中是否存在某個鍵 dict.__contains__('tall'): False 返回指定鍵的值,如果值不在字典中返回default值 dict.get(key, default=None): Chaochao dict.get()不會修改dict: {'name': 'Tommy', 'age': 25, 'sex': 'male', 'extra': 'unmarried'} 返回指定鍵的值,如果值不在字典中返回default值并新增該鍵值對 dict.setdefault(key, default=None): Chaochao dict.setdefault()會修改dict: {'name': 'Tommy', 'age': 25, 'sex': 'male', 'extra': 'unmarried', 'lover': 'Chaochao'} dict.items()返回可供遍歷的鍵值對: name Tommy age 25 sex male extra unmarried lover Chaochao dict.update(dict1)會將dict1中的鍵/值更新到dict里,相同鍵會更新值,不存在的會新增: {'name': 'Tommy', 'age': 27, 'sex': 'male', 'extra': 'unmarried', 'lover': 'Chaochao', 'company': 'Baidu'} 返回字典中所有的值 dcit.values(): dict_values(['Tommy', 27, 'male', 'unmarried', 'Chaochao', 'Baidu']) dict.pop(key[,default]) 刪除key 所對應的值,返回值為被刪除的值。key值不給出時返回default值 dict.pop('tall', 'not exits this key'): not exits this key 現在的dict: {'name': 'Tommy', 'age': 27, 'sex': 'male', 'extra': 'unmarried', 'lover': 'Chaochao', 'company': 'Baidu'} 隨機刪除并返回被刪除的一組鍵值對,如果字典已為空,會出現異常dict.popitem(): ('company', 'Baidu') 隨機刪除鍵值對后的dict: {'name': 'Tommy', 'age': 27, 'sex': 'male', 'extra': 'unmarried', 'lover': 'Chaochao'} 我是dict復制來的dict_copy: {'name': 'Tommy', 'age': 27, 'sex': 'male', 'extra': 'unmarried', 'lover': 'Chaochao'} dict_copy清空后 dict_copy.clear(): {} dict_copy清空后的dict: {'name': 'Tommy', 'age': 27, 'sex': 'male', 'extra': 'unmarried', 'lover': 'Chaochao'} 我是賦值來的dict3: {'name': 'Tommy', 'age': 27, 'sex': 'male', 'extra': 'unmarried', 'lover': 'Chaochao'} dict3清空后 dict3.clear(): {} dict3清空后的dict: {} ``` # 代碼庫地址 [https://github.com/liuzhen153/play-algorithm-python](https://github.com/liuzhen153/play-algorithm-python)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看