我是python的新手,希望得到一些帮助。
如何执行以下操作:
将文件中的每一行转换为嵌套列表,
例如[['line 1', 'a'], ['line 2','b']]
如何展平列表,以便每行与变量相关联。假设每个列表中的第一个成员,即i[:][0]
,是已知的。
是否可以将多个列表与一个变量相关联,即可以x = [list1], [list2]
?
在列表中使用了for循环,那些如何将该列表的方面与变量相关联?见下面的例子。
示例:
for i in list_1:
if i[:][0] == 'm':
i[2] = a
i[3] = b
i[4] = c
以上返回NameError,a,b,c,未定义。如何定义由for循环中的迭代或循环中的迭代产生的变量?
希望我很清楚,简洁,因为我感到困惑!
澄清:
我有一个嵌套列表,其中嵌套中的每个列表都包含字符串。这些字符串实际上是数字。我希望将字符串转换为整数,以便执行算术运算。
示例:
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
现在,要将每个字符串转换为整数,abs()是否合适?该如何实施?
另外,要将嵌套中每个列表的第三项求和并将总数分配给变量?我应该为此定义一个函数吗?
非常感谢任何有关如何处理此事的建议!
此外,早先的建议让我意识到我的想法是在创造问题!谢谢!
答案 0 :(得分:2)
# Answer to question 1 - just use the built-in functionality of lists.
#
# There is no need to use variables when lists let you do so much more
# in a quick and organised fashion.
lines = []
for line in open_file:
lines.append(line)
自Li0liQ already answered questions 2 and 3以来,我只想添加一个关于问题3的建议。你真的不需要通过i [:]复制列表,因为你只是在测试一个值清单。
答案 1 :(得分:1)
没有。 2:我看不出那是怎么可能的 - 当然你只能为变量分配一个值?
答案 2 :(得分:0)
为什么要关联每个 带有变量的列表中的项目?您 不能告诉列表的数量 事先没有条目 知道变量的确切数量 使用。
您可以使用元组:x = ([list1],
[list2])
你应该写作品,反之亦然:
for i in list_1:
if i[:][0] == 'm':
a = i[2]
b = i[3]
c = i[4]
答案 3 :(得分:0)
a, b, c = i[2:5]
答案 4 :(得分:0)
如果我理解的话,你有一个列表列表,其长度可以是2或1(当变量名称未知时)
您可能希望使用dict来存储行
尚未提及i[:][0]
表示您想要的不同内容,它与i[0]
相同(i[:]
将是列表i
的副本)
list_1 = [['line 1', 'a'], ['line 2','b'], ['line 3']]
d = {}
for i in list_1:
if len(i) != 2:
continue
key = i[1]
value = i[0]
d[key] = value
然后对于a
,您将使用d[a]
如果您最终想要将它们转换为变量,则可以调用locals().update(d)