我是Python的新手,很抱歉这个问题。
这是我的输出(来自网站的价格)。我想知道如何将它们转换为int
的列表
for price_list_items in price_list:
for values in price_list_items:
x= values.rstrip(' zł')
print(x)
479 000
355 000
269 000
499 000
289 000
所需的结果将是[479,000,355,000,...]。另外,我希望能够使用这些值执行基本操作。 我找到了该线程How to convert a for loop output into a list (python),但并没有帮助我。
答案 0 :(得分:1)
您的字符串看起来应该是由一系列的6位数字组成,但是由于缺乏更好的用语,两个单独的数字部分都用空格分隔,数字本身也用换行符分隔。因此,解决方案是删除数字部分之间的空格,将结果转换为整数,如下所示:
int(part.replace(' ', '')) # Finds all instances of space and replaces them with nothing
将其放入列表列表中,我们可以:
numbers = [int(l.replace(' ', '')) for l in str]
更新
自从您发布代码以来,我可以为您提供更好的答案。
[ int(v.rstrip(' zł').replace(' ', '')) for price_list_items in price_list for v in price_list_items ]
答案 1 :(得分:0)
lista = []
for price_list_items in price_list:
for values in price_list_items:
x= values.rstrip(' zł')
lsita.append(x)
lista = ['479 000', '350 000']
for idx, item in enumerate(lista):
item = item.split()
item = ''.join(item)
lista[idx] = int(item)
print(lista)
~/python/stack$ python3.7 sum.py [479000, 350000]
将最后一行从append
更改为lista
,而不是print
。现在我们有了lista = ['479 000', ...]
,但是我们希望int
在其上执行操作。
因此我们可以enumerate
list
,从那里split()
和join()
到这里lista = ['479000', ...]
,然后我们可以使用{{ 1}},然后将它们作为int(item)
放回lista
为了娱乐,我们可以做一些int
,然后从以下位置进行操作:
map