Python:如何从数组中的数组中提取项?
我有两个数组,其中一个是包含数组的数组Python:如何从数组中的数组中提取项?,python,arrays,python-3.x,Python,Arrays,Python 3.x,我有两个数组,其中一个是包含数组的数组 wordsEn = ["why", "because", "go"] wordsDe = [["warum"], ["weil", "da"], ["los", "gehen"]] 我的代码是 step = 0 size = 3 while step < size: word = input("Enter name of word: ") print("your word was " + word) if word in
wordsEn = ["why", "because", "go"]
wordsDe = [["warum"], ["weil", "da"], ["los", "gehen"]]
我的代码是
step = 0
size = 3
while step < size:
word = input("Enter name of word: ")
print("your word was " + word)
if word in wordsEn:
pos = wordsEn.index(word)
print(wordsDe[pos])
step = step + 1
else:
print("word not found.")
如果我要求它打印单词,它会打印
如何使其打印为列表,如
威尔
da
单词de是一个列表,列表中的3个对象是[warum]、[weil,da]和[los,gehen] 调用wordsDe[1]将为您提供列表中的第二个对象。。。[好的,爸爸] 如果你想打印的话
weil
da
您必须先调用wordsDe[1][0],然后再调用wordsDe[1][1]将列表的项目更改为字符串:
wordsEn = ["why", "because", "go"]
wordsDe = [["warum"], ["weil", "da"], ["los", "gehen"]]
step = 0 ;size = 3
while step < size:
word = input("Enter name of word: ")
print("your word was " + word)
if word in wordsEn:
pos = wordsEn.index(word)
w=''
for wd in wordsDe[pos]:
w+=wd+' '
print(w)
step = step + 1
else:
print("word not found.")
对于数组数组,我们应该使用二维来访问单个元素。可以使用嵌套循环。 在print函数中使用两个循环和一个分隔符参数。 这里不需要分离器
您可以循环使用wordsDe[pos],只需逐个打印内容
step = 0
size = 3
while step < size:
word = input("Enter name of word: ")
print("your word was " + word)
if word in wordsEn:
pos = wordsEn.index(word)
for data in wordsDe[pos]:
print (data)
step = step + 1
else:
print("word not found.")
由于列表是嵌套的,因此表示包含列表的列表。您必须根据所需的输出指定此类列表的输出格式 对于给定的情况,您可以使用以下内容: print*wordsDe[1],sep='\n'首先使用'*'解压列表中的所有项目, 然后告诉“print”使用“\n”分隔每个项目
您还可以通过索引访问内部数组,例如wordsDe[1][0]应打印“weil”。只要索引有效,您就可以继续这样做,例如wordsDe[1][0][0]应该打印“w”。print*wordsDe[1],sep='\n'我不明白这段代码与您的问题有什么关系?我想您指的是结束参数,而不是sep,这是默认值,没有必要。sep仅在通过多个argumentsWhoops时才相关,已修复。必须先调用wordsDe[1][0],然后再调用wordsDe[1][1]-不太准确。。。查看其他答案,将列表打印在一行中,而不是要求什么。无论如何,通过简单的打印就可以更容易地实现。如果您只需在words中打印words,那么for循环就会简单得多
step = 0
size = 3
while step < size:
word = input("Enter name of word: ")
print("your word was " + word)
if word in wordsEn:
pos = wordsEn.index(word)
for item in wordsDe[pos]:
print(item,sep="\n")
step = step + 1
else:
print("word not found.")
step = 0
size = 3
while step < size:
word = input("Enter name of word: ")
print("your word was " + word)
if word in wordsEn:
pos = wordsEn.index(word)
for data in wordsDe[pos]:
print (data)
step = step + 1
else:
print("word not found.")