헤더 행이있는 커다란 목록의 목록 (CSV에서 가져옴)이 있습니다. 첫 번째 세 줄은 다음과 같습니다. 각 행에는 훨씬 더 많은 요소가 있지만 읽기 쉽도록 잘 렸습니다.목록의 목록 파이썬 - 특정 위치/슬라이싱 하위 목록을 참조합니다.
[('Div', 'Date', 'HomeTeam', 'AwayTeam', 'FTHG', 'FTAG'),
('E0', '18/08/12', 'Arsenal', 'Sunderland', '0', '0'),
('E0', '18/08/12', 'Fulham', 'Norwich', '5', '0')... ]
내가/한 Excel에서이 그래서 내가 파이썬을 배운로 작동하는 실제 무언가를 가지고 웹 기반 만들고 싶어하는 취미 축구 통계 패키지입니다. 나는 평균을 계산할 수있는 숫자를 가지고 있으므로 각 행의 홈 팀과 일치시키고 내가 선택한 모든 열의 값을 누적 합계에 더하고 평균을 구할 수 있습니다. 홈 팀이 "첼시 (Chelsea)"와 매치 할 때마다 간단히 말하자면, 집에서 득점 한 평균 득점 수를 계산하기 위해 누적 합계에 추가하고 싶습니다. 데이터 파일은 매우 일관 적이기 때문에 특정 변수는 항상 4 열 또는 5 열 등의 변수에 포함됩니다.
def CalcAverageHome(team, column, data_file):
total = 0
count = 0
for team in data:
if data[2] == team:
print data_file[4]
#total += data[4]
count += 1
else:
pass
average = total/5
return
print "Here's the Average"
print CalcAverageHome("Chelsea", 4, data)
내가 그 코드를 실행하면 네 번째 목록 (최상위 목록)로 날을 제공, 즉
('E0', '18/08/12', 'QPR', 'Swansea', '0', '5'...
내가 itertools
를 사용하려고 시작했지만, 심지어 그냥 목록을 통해 반복하는 것은 그것을 인쇄하기 디버거가 작동하지 않았다으로
print "Let's try this with itertools"
def chain(*iterables):
for it in iterables:
print it
for element in it:
yield element
print element
chain(data)
data
는 CSV의 데이터가 목록에 읽은 있다는 변수이다 (I 만들기 위해 좋아하는 내가 가서 확인 그것은 작동) 목록.
하지만 아무것도 인쇄되지 않습니다. 표준 문서를 살펴 봤지만 빛이 없어지지는 않습니다. 간단히 각 하위 목록을 반복하고 팀이 일치하는지 확인한 다음 몇 가지 요소가있는 요소로 처리합니다. 나는 하루와 이틀 동안 다양한 솔루션을 (3 일 이상)보고 있었기 때문에 조금 좌절했다.
이것은 data in team : data [2] == team : ...'당신이 생각하기에 그렇게 생각하니? '데이터'는 어디에 정의되어 있습니까? –
죄송합니다. 데이터가 이전에 정의되어 있으며 방금 편집에 추가했습니다. 데이터 파일의 2 열의 목록 항목이 현재보고있는 팀인지 확인하고 싶습니다. – Withnail
확인. 나는'data_file'이리스트의리스트라고 가정했다. 그렇다면'data_file'은 무엇입니까? –