Python 集合中元素的數據類型可以不同,但集合中不能嵌套列表、集合、字典

  • 集合set 支持嵌套元組tuple
# 集合set 嵌套元組tuple
def return_set_dataTuple():
    # 返回集合set
    return {('dd', 123), ('ee', 234), ('gg', 345)}

# python 函數入口
if __name__ == '__main__':
    print(return_set_dataTuple())
    print(type(return_set_dataTuple()))
      
# 輸出結果:
{('gg', 345), ('ee', 234), ('dd', 123)}
<class 'set'>

 

  • 集合set 不支持嵌套集合
# 集合set 不支持嵌套集合set
def return_set_dataSet():
    # 返回集合set
    return {{'dd', 123}, {'ee', 234}, {'gg', 345}}

# python 函數入口
if __name__ == '__main__':
    print(return_set_dataSet())
    

# 結果輸出:
Traceback (most recent call last):
  File "XX\test_func2.py", line 9, in <module>
    print(return_set_dataSet())
  File "XX\test_func2.py", line 4, in return_set_dataSet
    return {{'dd', 123}, {'ee', 234}, {'gg', 345}}
TypeError: unhashable type: 'set'

 

  • 集合set 不支持嵌套列表list
# 集合set 不支持嵌套列表list
def return_set_dataList():
    # 返回集合set
    return {['dd', 123], ['ee', 234], ['gg', 345]}


# python 函數入口
if __name__ == '__main__':
    print(return_set_dataList())


# 結果輸出:
Traceback (most recent call last):
  File "XX\test_func2.py", line 9, in <module>
    print(return_set_dataList())
  File "XX\test_func2.py", line 4, in return_set_dataList
    return {['dd', 123], ['ee', 234], ['gg', 345]}
TypeError: unhashable type: 'list'
    

 

  • 集合set 不支持嵌套字典dict
# 集合set 不支持嵌套字典dict
def return_set_dataDict():
    # 返回集合set
    return {{'name': 'dd', 'password': 123}, {'name': 'ee', 'password': 234}, {'name': 'gg', 'password': 345}}


# python 函數入口
if __name__ == '__main__':
    print(return_set_dataDict())
    
    
# 結果輸出:
Traceback (most recent call last):
  File "XX\test_func2.py", line 9, in <module>
    print(return_set_dataDict())
  File "XX\test_func2.py", line 4, in return_set_dataDict
    return {{'name': 'dd', 'password': 123}, {'name': 'ee', 'password': 234}, {'name': 'gg', 'password': 345}}
TypeError: unhashable type: 'dict'

因爲集合的元素類型只能是不可變數據類型,如整數,浮點數,字符串,元組等(列表,字典,集合類型本身都是可變數據類型,不能做集合的元素出現)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章