파일 입력에서 데이터를 처리하려고합니다. 한 줄에는 공백으로 구분 된 3 개의 값이 들어 있습니다. 두 번째 값으로 그룹화 할 목록에 추가하려고합니다. 그럼. I는 입력이 있습니다Python - 하나의 요소로 그룹 목록을 나열하십시오.
qwe rty 12
asd fgh 34
zxc rty 96
와 나는이 같은 변수에 저장할 :
variable =
[[[qwe, rty, 12], [zxc, rty, 96]],
[[asd, fgh, 34]]]
이 내가 이런 식으로 액세스 할 수 있도록이다
variable[0] #this should be [[qwe, rty, 12], [zxc rty, 96]]
variable[1] #this should be[[asd, fgh, 34]]
나는 노력하고있다
f = open('input_1.txt')
values = [] #to keep track of which values have occured before
data = []
for line in f:
ldata = lineprocess(line) #this transforms the raw data to [qwe, rty, 12] etc.
if ldata[1] in values:
data[values.index(ldata[1])].append(ldata)
elif ldata[1] not in values :
values.append(ldata[1])
data.append(ldata)
이것은 회전과 같은 목록 :
[['qwe', 'rty', 12, ['zxc', 'rty', 96]],
['asd', 'fgh', 34]]
내가 대신
[[['qwe', 'rty', 12], ['zxc', 'rty', 96]],
[['asd', 'fgh', 34]]]
를 얻으려면 어떻게해야합니까?
아주 이상한 데이터 구조입니다. 당신은 정확히 무엇을 세우려고합니까? 대신이 데이터를 쉽게 참조 할 수 있도록 사전을 사용 해본 적이 있습니까? – idjaw
필요한 것은 데이터를 그룹화하는 것입니다. 그래서 입력 파일에서 3 개의 값 목록을 가지고 있습니다. 이것을 트리플이라고 부릅시다. 같은 인덱스 아래에서 동일한 중간 값을 갖는 트리플을 그룹화하기를 원합니다. 그러면 다른 프로세스에 대해서 말할 수 있습니다. 좋아요, 인덱스 0 아래의 모든 트리플을 처리해야하고 다음 프로세스는 인덱스 1 등의 모든 트리플을 사용해야합니다. –