2013-08-20 57 views
16

Tôi có một cái gì đó như thế này:Làm thế nào để có được chỉ số của phần tử trong Set đối tượng

numberList = {} 
     for item in results: 
      data = json.loads(item[0]) 
      if data[key] in itemList: 
       numberList[itemList.index(data[key])] += 1 
     print numberList 

nơi itemList được 'đặt' đối tượng. Làm thế nào tôi có thể truy cập vào chỉ mục của một phần tử trong đó?

+3

AFAIK, bộ không được đặt hàng. – Hyperboreus

+0

'itemList' * phải * là một' danh sách', không phải là 'tập hợp'; Các đối tượng 'set' làm * không * có phương thức' .index() '; Các đối tượng 'set' trong thực tế không có thứ tự. –

+0

Bạn đang cố gắng làm gì ở đây? Đếm số lần một giá trị cụ thể của 'dữ liệu [khóa]' hiện diện? –

Trả lời

33

Tập hợp chỉ là tập hợp các phần tử độc đáo không có thứ tự. Vì vậy, một yếu tố hoặc là trong một bộ hoặc nó không phải là. Điều này có nghĩa là không có phần tử nào trong tập hợp có chỉ mục.

Xem xét tập hợp {1, 2, 3}. Bộ này chứa 3 phần tử: 1, 2 và 3. Không có khái niệm về chỉ mục hoặc thứ tự tại đây; tập hợp chỉ chứa 3 giá trị đó.

Vì vậy, nếu data[key] in itemList trả về True, thì data[key] là một phần tử của bộ itemList, nhưng không có chỉ mục mà bạn có thể nhận được.

+0

Ok, cảm ơn vì thông tin này, nó sẽ thực sự hữu ích cho tôi trong tương lai. – Lolek

Các vấn đề liên quan