2011-01-28 3 views
-2

저는 파이썬을 처음 사용하고 있으므로 목록 코드를 이해하려고 노력하고 있으므로 코드에서 사용할 수 있습니다.목록 이해하기, 초보자

transaction = {"customer_name":"name", 
       "sold":{"jacket":3, "pants":2}, 
       "bought":{"cap":4, "baseball":2, "gum":"10"}} 

어떻게 내가 딕셔너리를 생성하고, 지능형리스트로 키와 값을 할당합니다 :

pricelist = {"jacket":15, "pants":10, "cap":5, "baseball":3, "gum":1} 

products_sold = [] 

while True: 
    product_name = input("what is the name of the product") 
    product = {} 
    customer_name = input("what is the name of the customer") 
    #customer is shopping 
    product[sell_price] = pricelist[product_name] 
    product["quantity"] = input("how many items were sold?") 
    #append the product to a dict 

    products_sold.append(product) 

는 지금은 다음과 같아야합니다 전체 트랜잭션의 DICT를 갖고 싶어? 예를 살펴 보았지만 이해할 수는 있지만 코드에 적용하는 방법을 알 수는 없습니다.

제 의도는 제품 목록을 다른 방법으로 동일한 정보를 포함하는 사전 (거래) 목록으로 바꾸는 것입니다.

+0

'제품'은 사전입니까? 'products_sold'는 각 항목에 1 개의 항목이있는 dicts 목록이됩니까? – mikej

+0

귀하의 질문에 약간의 설명이 필요합니다. 루프를 몇 번 반복하고 싶다면 일단'customer_name','product','products_sold'의 내용으로 트랜잭션 사전을 작성하십시오 ('products_bought'도 있다고 가정합니다). , 권리?). 또한, 당신은'dict'과'list'를 혼동하는 것 같습니다. 'list ', 즉'[]. append()'에 추가합니다. – Rodrigue

+0

'quantity_sold'와''Jenny''는 어디에서 왔습니까? – nmichaels

답변

2

나는 당신이 진짜로 생각하는 것에 답할 것입니다. 그것은 당신이리스트의 이해력을 이해하기를 원합니다. IMO, 목록 작성을 배우기 위해 게시 한 예제는 좋은 예가 아닙니다. 여기에 내가 사용하기를 좋아하는 아주 간단한 예가 있습니다. 다른 언어에서 이미 알고있는 것과 쉽게 관련이 있기 때문입니다.

# start with a list of numbers 
numbers = [1, 2, 3, 4, 5] 

# create an empty list to hold the new numbers 
numbers_times_two = [] 

# iterate over the list and append the new list the number times two 
for number in numbers: 
    numbers_times_two.append(number * 2) 

위의 코드는 의미가 있으며 잘 알고 있습니다. 목록 내포물을 사용하는 것과 똑같은 것이 있습니다. 모든 부품이 거기에 있으며, 조금만 움직였습니다.

numbers_times_two = [number * 2 for number in numbers] 

목록 함축은 목록처럼 대괄호를 사용하고이 예제의 숫자 인 반복 가능한 (리스트 같은 것) 반복에서 새 목록을 만듭니다.

따라서 목록 작성을 사용하여 사전을 채우는 것에 대한 질문을하면 목록 작성의 메커니즘을 학습하는 맥락에서 실제로 이해가되지 않습니다.

희망이 도움이됩니다.