我正在尝试制作唯一号码的列表,并且收到错误的输出。制作唯一号码列表
我想从文件中获取每个唯一编号,其中每行有两个数字: friends = ['4 6','4 7','4 8','5 9','6 8', '7','100','112'','78 44']
答案: user = ['4','6','7','8','44',' '78','100','112','114']
但是我的下面的代码输出user = ['0','1','2','4','5','6 '','7','8','9']而不是
我不确定如何让我的代码识别文件中的两位和三位数字,基本上这是我的问题
user=[]
for row in friends:
for column in row:
if column not in user and column.isdigit():
user.append(column)
user.sort()
print(user)
*我不允许使用字典,套,双端队列,对开模块
号码引号(像''4 6'')是字符串和Python处理它们的字符串,而不是数字(如'int'),当你阅读文件内容,你需要在比较之前将值转换为int。 – davedwards
@downshift我试图做到这一点,但由于数字之间的空白,我得到一个错误,请问如何转换值并维护结构? –
@ h-g试试这两个步骤:'temp = map(lambda x:x.split(),friends)',然后'numbers = [[int(letter)for x in letter] for x in temp]''。然后你可以打印(数字)输出[[4,6],[4,7],[4,8],[5,9],[6,8],[7,8], [100,112],[112,114],[78,44]]'。这些列表现在是'int'列表,但是您可以根据自己的喜好来构造数字。 – davedwards