python 3.4.2将字符串加入列表

时间:2015-03-13 21:07:32

标签: string python-3.x

我是一个蟒蛇新手所以我正在编写小程序以便更熟悉。我有一个锉刀PI,非常unix熟练,完成编程但不是python3。其中一个是简单的冒泡排序,它读取两个txt文件,数字为5 9 2 19 18 17 13,另一个用不同数字10 14 2 4 6 20类型的东西

我使用函数读取每个文件然后在我整个字符串冒泡之前加入它们,我知道它需要是一个列表,这样bubblesort函数可以在每次传递期间移动数字。从我可以告诉我的问题是mergesort(连接列表的var名称)总是一个字符串。

任何人都明白为什么会这样?以及如何将这两个文件转换为单个列表? ------------------示例代码-------------------

mergesort = []

def readfile1():
    tempfile1 = open('sortfile1.txt','r')
    tempfile1 = tempfile1.read()
    return tempfile1


def readfile2():
    tempfile2 = open('sortfile2.txt','r')
    tempfile2 = tempfile2.read()
    return tempfile2

sortstring1 = readfile1()
# print (sortstring1)

sortstring2 = readfile2()
# print (sortstring2)

# mergesort = list(set(sortstring1) | set(sortstring2)
mergesort = sortstring1 + sortstring2
print (mergesort, "Type=", type(mergesort))

1 个答案:

答案 0 :(得分:0)

假设您想获得一个整数列表,您可以这样做。请注意,我还将您的功能合并为一个,因为它们完全相同。

在您的代码中,您没有将文件的内容拆分为列表,因此它以字符串形式读入。使用split()方法将字符串拆分为列表。

def read_file_to_list(filename):
    temp = open(filename, 'r')
    string = temp.read()
    numbers = [int(x) for x in string.split(' ')]
    return numbers

sort1 = read_file_to_list('sortfile1.txt')
sort2 = read_file_to_list('sortfile2.txt')

total = sort1 + sort2