python基礎,enumerate內置函數

1、enumerate()函數

enumerate本意是列舉,枚舉的意思

用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,
一般用在 for 循環當中,可同時得到數據對象的值及對應的索引值。

 

例如

lst = [1, 2, 3, 4, 5, 6]
for index, value in enumerate(lst, 1):  # 指定開始的索引值,默認從0開始
    print('{}:{}'.format(index,value))

返回列表的元素和索引

再如,leecode有一道題

給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。

你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。

示例:

給定 nums = [2, 7, 11, 15], target = 9

因爲 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

就可以利用enumerate內置函數

 

class Solution(object):
    def twoSum(self,nums, target):
        """
        :param nums: list[int]
        :param target:int
        :return:list[int]
        """
        for i, items in enumerate(nums):
            res1 = target - items
            try:
                pos1 = nums.index(res1)
                if pos1 != i:
                    print(sorted([pos1,i]))
                    return sorted([pos1,i])
            except ValueError:
                    pass

s = Solution()
lst = [1,2,3,16,6]
s.twoSum(lst,9)

 

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