python - 如何仅将嵌套列表的某些字符串转换为整数?

标签 python python-2.7 int nested-lists

所以目前我正在尝试获取一个包含数据的嵌套列表,并将这些列表的一些元素转换为整数。所以现在嵌套列表打印如下:

def Top5_Bottom5_test():
    with open("Population.txt", "r") as in_file:
        nested = [line.strip().split(',') for line in in_file][1:] #This creates the nested list
        nested[0:][1:] = [int(x) for x in nested[0][1:]] #This is what I'm trying to use to make the numbers in the lists into integers.
        print nested

打印:

[['Alabama', '126', '79', '17'], ['Alaska', '21', '100', '10'], ['Arizona', '190', '59', '16'], ['Arkansas', '172', '49', '28']....]

但是我试图让它输出以便我可以使用冒泡排序:

[['Alabama', 126, 79, 17], ['Alaska', 21, 100, 10], ['Arizona', 190, 59, 16], ['Arkansas', 172, 49, 28]....]

有了这个,我的最终目标是让列表按第 [1] 个元素按降序排序,但当它们采用字符串形式时,我似乎无法做到这一点。尽量避免使用 sort() 和排序() 函数。

最佳答案

试试这个:

nested = [line.strip().split(',') for line in in_file][1:]
nested = [line[:1] + [int(x) for x in line[1:]] for line in nested]

技巧是使用列表切片分别处理每行中的第一个元素和其余元素。

关于python - 如何仅将嵌套列表的某些字符串转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24855126/

相关文章:

python - 根据指定列中的值将行插入到数据框中

python - python中 `[foo]`后面的 `from bar import foo`有什么特殊含义吗? (也许是 python2 特有的)

python - 自定义信号 Scrapy

python/kivy : How to pass text value from another class in . kv 文件

c# - SQL Server 2012 中的 128 位 Int?

java - 在JAVA中将String(包含字符和整数)转换为整数并计算总和

python - 将 csv 转换为管道分隔的正则表达式

python - 如何运行这两个 python 应用程序?

java - java中如何将int转换为uint8

python - 构建 docker 镜像时出现错误消息 "Error processing tar file(exit status 1)"