亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將單個元素列表視為 Python 中的標量

將單個元素列表視為 Python 中的標量

米琪卡哇伊 2021-08-17 10:41:48
?是否可以定義一個 python 列表的子類,它允許使用單元素列表變量,就好像它們是標量一樣?例如,我希望能夠做到:class CustomList(list):    ...    ...list1 = CustomList([2])list2 = CustomList([3])list3 = CustomList([4,5,6])list4 = CustomList([{'foo':'bar'}])list1 #should return list1[0]list4['foo'] #should return list4[0]['foo'] = 'bar'list1 + list2 #should return list1[0] + list2[0] = 5但保持正常使用列表的能力:for i in list3:    print list[i]
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

假設通過添加兩個類意味著連接兩個列表,您可以執行以下操作(注意 __add__ 方法以了解添加的工作原理):


from collections import MutableSequence


class CustomList(MutableSequence):

    def __init__(self, data=[]):

        self._list = data 


    def __add__(self, newlist):

        return self._list + newlist._list


    def __len__(self):

        return len(self._list)


    def __getitem__(self, i):

        return self._list[i]


    def __delitem__(self, i):

        del self._list[i]


    def __setitem__(self, i, val):

        self._list[i] = val


    def __str__(self):

        return str(self._list)


    def insert(self, i, val):

        self._list.insert(i, val)


查看完整回答
反對 回復 2021-08-17
  • 2 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號