如果我有一个这样的字典,里面充满了类似的列表,我如何应用while命令提取一个列表,并打印第二个元素:
racoona_valence={}
racoona_valence={"rs13283416": ["7:87345874365-839479328749+","BOBB7"],}
我需要打印"BOBB7"对于大字典中列表的第二个元素。其中有十个键值对,所以我像这样开始,但不确定该怎么做,因为我能找到的所有示例都与我的问题无关:
n=10
gene_list = []
while n>0:
任何帮助都非常感谢。
嗯,有很多方法可以做到这一点,这取决于你的数据结构有多好。
racoona_valence={"rs13283416": ["7:87345874365-839479328749+","BOBB7"], "rs13283414": ["7:87345874365-839479328749+","BOBB4"]}
output = []
for key in racoona_valence.keys():
output.append(racoona_valence[key][1])
print(output)
other_output = []
for key, value in racoona_valence.items():
other_output.append(value[1])
print(other_output)
list_comprehension = [value[1] for value in racoona_valence.values()]
print(list_comprehension)
n = len(racoona_valence.values())-1
counter = 0
gene_list = []
while counter<=n:
gene_list.append(list(racoona_valence.values())[n][1])
counter += 1
print(gene_list)
这是您想要的list comprehension
:
second_element = [x[1] for x in racoona_valence.values()]
这是一个for loop
做你想要的:
second_element = []
for value in racoona_valence.values():
second_element.append(value[1])
这是一个while loop
做你想要的:
# don't use a while loop to loop over iterables, it's a bad idea
i = 0
second_element = []
dict_values = list(racoona_valence.values())
while i < len(dict_values):
second_element.append(dict_values[i][1])
i += 1
无论您使用哪种方法,您都可以通过执行以下操作来查看结果:
for item in second_element:
print(item)
对于你给出的例子,这是输出:
BOBB7