如何在python中获取str中的值(不是数组/列表格式)
我一直在尝试用每个pop()选择str中的值。以下是我一直在尝试的代码:如何在python中获取str中的值(不是数组/列表格式),python,list,csv,Python,List,Csv,我一直在尝试用每个pop()选择str中的值。以下是我一直在尝试的代码: with open('resources/CSV/numbers.csv', 'r') as file: reader = csv.reader(file) print(reader) CREDENTIALS = list(reader) print(CREDENTIALS) number = CREDENTIALS.pop()
with open('resources/CSV/numbers.csv', 'r') as file:
reader = csv.reader(file)
print(reader)
CREDENTIALS = list(reader)
print(CREDENTIALS)
number = CREDENTIALS.pop()
print("value of number is:" + str(number))
如果csv包含以下编号,则格式为:
1000399094
1000399095
1000399096
1000399097
1000399098
1000399099
1000399100
1000399101
1000399102
输出为:
['1000399094']、['1000399095']、['1000399096']、['1000399097']、['1000399098']、['1000399099']、['1000399100']、['1000399101']、['1000399102']
数字的值为:['1000399102']
这里的问题是,我需要1000399102中的值,而不是['1000399102'],因为我是python新手,所以找不到任何相同的解决方案。这个简单的
列表理解应该可以帮助您:
lst = [['1000399094'], ['1000399095'], ['1000399096'], ['1000399097'], ['1000399098'], ['1000399099'], ['1000399100'], ['1000399101'], ['1000399102']]
lst = [[int(num)] for lstt in lst for num in lstt]
print(lst)
输出:
[[1000399094], [1000399095], [1000399096], [1000399097], [1000399098], [1000399099], [1000399100], [1000399101], [1000399102]]
StackOverflow不是设计、编码、研究、调试或教程服务。您可以使用适当的索引访问所需的项。提取字符串并转换为int。重复有关数据类型(对于int
)和列表访问的教程。为什么要调用list(reader)
?这是一种不寻常的方式。@诺扎克,我的问题没有发现任何违反准则的地方。@JohnGordon,因为有多个值,我想将它们保留在列表中,然后逐个弹出以访问所有值。我知道还有另一种方法可以做到这一点,但出于某种原因,我只能这样做。谢谢你的回答@Sushil,我只想使用pop()来得到这个结果。可以使用pop()吗?但是列表理解更好。你真的想用pop()
?我知道,但出于某种原因,我只能用这种方法。但是你认为如何使用pop()
,将值转换成整数?我想我不能,所以我同意你的答案,谢谢