중첩 배열의 양쪽 정렬 된 열을 제목 상태로 만드는 것입니다. 그러나 나는 그것을 풀 수있는 방법을 알아낼 수 없다. 따라서이 배열은 ..Python : 중첩 배열의 열 정렬
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
이 내가 (정렬을 통지) 달성하고자하는 것입니다 :
apples Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose
내가 성공적으로 하위 배열의 각을 정당화하기 위해 코드를 생성 할 수 있었지만 내 결과는 단순히 수직적이다. 주로 행과 열로 만드는 코드를 찾지 못했기 때문에 주로 긴 단일 열만 있습니다. 내 결과가 보이는 같은 :
apples
oranges
cherries
banana
Alice
Bob
Carol
...#you get the picture
편집 : 그래서 내 질문은 이미 예 (하위 배열의 수) 배열의 메타 데이터를 모르는 당신을 가정 3 개 개의 컬럼으로 그것을 깰 얼마나 간단
난 그냥 돕기 위해 내 코드를 포함하지만 적은에서이 할 수에서 어떤 사람들 확신#function to get the longest word in the sub-array
#to determine justification length
def maxLength(someList):
count = {}
max_num = 0
for item in someList:
count[item] = len(item)
for value in count.values():
if value > max_num:
max_num = value
return(max_num)
#function to store the length of the longest words
#of each sub-array into an array
def maxWidths(tableData):
widths = []
for i in range(len(tableData)):
widths.insert(i,maxLength(tableData[i]))
return(widths)
#function to print table(this is the part that needs work)
def printTable(tableData):
widths = maxWidths(tableData)
for i in range(len(tableData)):
for item in tableData[i]:
print(item.rjust(widths[i]))
당신이 여기 내 소스 코드를보고 싶어 경우
... 마술처럼 10 줄 이상. 나는 그 종류의 대답을 보길 정말로 좋아 하겠지만 (그것은 내가 올바른 것으로 받아 들일 수있는 종류입니다), 이상한 구문을 설명하십시오. 그러나 만약 당신이 단지 기존의 기존 작품에 추가하고 싶다면 나에게도 좋고 더 좋을 것입니다.
와우 ... 그게 내가 익숙하지 않은 구문이지만 배열의 하위 배열 또는 데이터 형식의 수를 알지 못했다고 가정 해 봅시다. 어떻게 처리하겠습니까? – ITJ
스택 오버플로 전체를 고려할 때 다른 질문이 될 수 있습니다. –
내 소스 코드를 보면 배열의 메타 데이터를 직접 사용하지 않았다는 것을 알 수 있습니다. 따라서 수많은 기능 .. – ITJ