天天看點

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)
           

繼續閱讀