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)

 

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