我是一个蟒蛇新手所以我正在编写小程序以便更熟悉。我有一个锉刀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))
答案 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