gpt4 book ai didi

python - 遍历列表字典并返回同一索引处的字符

转载 作者:太空宇宙 更新时间:2023-11-04 11:11:02 28 4
gpt4 key购买 nike

正在打印作为字符串传递的矩阵的垂直列。

我创建了一个字典并将矩阵的每一行分配为字典中的一个值,然后用括号括起来创建一个列表字典。

想要遍历字典中的每个键并附加给定索引的值(例如,如果值是'a b c',则返回'a'代表1,''代表2 ...)但我只保留得到的是:

[['a b c '], ['a b c '], ['a b c ']]

或者当我摆弄它时它的变体。它似乎永远不会超过第 1 行,尽管每个值显然是矩阵中的不同行。

感谢任何帮助。

def column (str, index):
output = []
li = str.split("\n")
row_dict = {
1: [li[0]],
2: [li[1]],
3: [li[2]]
}
for key in row_dict:
output.append(row_dict[index])
return output

str = "a b c \n d e f \n g h i"
column(str, 1)

最佳答案

首先,在 "\n " 上拆分,因为您似乎在每个换行符之后都有一个空格。

如果您使用列表理解,则获取每行的第 n 个项目非常简单,例如[row[index] for row in s.split("\n ")]

总计:

>>> def column (s, index):
return [row[index] for row in s.split("\n ")]

>>> s = "a b c \n d e f \n g h i"
>>> column(s, 1)
[' ', ' ', ' ']

或者,如果您希望它是 1 索引(如问题中的示例)而不是 0 索引:

>>> def column (s, index):
return [row[index-1] for row in s.split("\n ")]

>>> s = "a b c \n d e f \n g h i"
>>> column(s, 1)
['a', 'd', 'g']

关于python - 遍历列表字典并返回同一索引处的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58229781/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com