使用split()访问已排序列表的元素

时间:2017-05-23 20:53:30

标签: python

我使用

创建了一个排序的字符串列表
sorted_list=[[int(name.split("_")[-1]), name] for name in string_list]

输出看起来像

[[0, 'str_0'], [1, 'str_1'], [2, 'str_2'], [3, 'str_3']]

如何访问每对中的第二个元素?我想做

for the_str in sorted_list[1]:
    with open(the_str) as inf:

但无效,我收到此错误ValueError: Cannot open console output buffer for reading

我该如何解决?

4 个答案:

答案 0 :(得分:1)

你可能想要这个:

for pair in sorted_list:
    with open(pair[1]) as inf:

答案 1 :(得分:0)

这就是你要找的东西:

for the_str in list(zip(*sorted_list))[1]:
    # code here

或只是:

for val in sorted_list:
    the_str = val[1]
    # code here

答案 2 :(得分:0)

如果你遍历列表,你会得到一对接一个。您可以在for子句中拆分每个部分,并保留其余代码:

for the_num, the_str in sorted_list:
    with open(the_str) as inf:

答案 3 :(得分:0)

括号的嵌套表示嵌套在sorted_list [0]中的列表列表,因此您需要先取消引用。你想要sorted_list [0] [i] [1]。