【问题标题】:calculation string of list without comma into new list in python将不带逗号的列表的计算字符串转换为python中的新列表
【发布时间】:2020-06-17 13:00:03
【问题描述】:

我想转换以下列表并乘以 0.2 得到新列表。

这是输入:列表中没有逗号

x =['10' '20' '30']

理想的输出是:

output =[2,4,6]

我使用了代码",".join(str(i) for i in x)。它不工作。

【问题讨论】:

  • "输出是:" - 这是你想要得到的,还是你实际得到的?
  • str.join 给你一个字符串。如果你想要一个列表,这个方法对你没有帮助。你知道如何将字符串转换为 int 吗?你知道如何将数字相乘吗?如果是,问题出在哪里?
  • 试试[int(round(.2 * int(i))) for i in x](你需要在x的定义中使用逗号,否则你只会连接字符串)。
  • @timgeb 我的问题是 x = ['10' '20' '30'] 没有逗号,我不知道如何将其转换为 ['10','20','30' ]

标签: python string list


【解决方案1】:

试试这个,

x =['10' ,'20' ,'30']
a=[]
for i in x:
    a.append(int(int(i)*0.2))
print(a)

输出:

[2, 4, 6]

如果你的列表只包含两位数字,那么你可以这样做,

x =['10' '20' '30']
i=x[0]
for j in range(0,len(i),2):
    print(int(int(i[j:j+2])*0.2))

输出-

2
4
6

【讨论】:

  • 我的问题是 x = ['10' '20' '30'] 没有逗号,我不知道如何将其转换为 ['10','20','30']
  • @Rya 但没有逗号列表将是 ['102030'] 并且您不能拆分此列表,因为您不知道 10210 哪个是数字。跨度>
  • @Rya 你是否将用户的 x =['10' '20' '30'] 作为输入,如果不是你如何得到x
  • 是的。我从用户那里获取 x =['10' '20' '30'] 作为输入。
  • @Rya 你能提供接受输入的代码吗,我可以帮你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-04
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 2011-12-12
  • 2021-05-13
  • 1970-01-01
相关资源
最近更新 更多