my_list=[['A','B','C','0.0'],['D','E','F','1.0'],['G','H','I','0'],['J','K','L','M']
Run Code Online (Sandbox Code Playgroud)
我试过做
new_list=[[float(x) for x in i if x.isnumeric()] for i in my_list]
Run Code Online (Sandbox Code Playgroud)
输出
[[0.0],[1.0],[0],[]]
Run Code Online (Sandbox Code Playgroud)
预期输出
[['A','B','C',0.0],['D','E','F',1.0],['G','H','I',0],['J','K','L','M']
Run Code Online (Sandbox Code Playgroud)
我不知道如何将最终值转换为浮点数并就地修改值,我尝试附加。我也尝试了其他问题的答案,但他们创建了一个新列表,但我想更改原始列表。
编辑更改了我的列表以包含小数。如果数字(字符串)为“0”但不是小数“0.0”或“1.0”,则以下答案有效。
x = [2000,2001,2002,2003]
y = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
for i in range(len(y[0])):
plt.plot(x,[pt[i] for pt in y])
plt.show()
Run Code Online (Sandbox Code Playgroud)
我得到一个ValueError的4, 3。我知道这一点,x而且y必须是平等的。我以为len(y[0])会工作。
对于 中的每个子列表y,我想生成一行,其x值对应于2000, 2001, 2002, 2003。