Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中打印索引[0]处具有相同编号的项目_Python_Indexing - Fatal编程技术网

如何在Python中打印索引[0]处具有相同编号的项目

如何在Python中打印索引[0]处具有相同编号的项目,python,indexing,Python,Indexing,对于一个程序,我有一个包含大量不同数字的文件。我需要创建一个程序,只打印以1开头的数字。到目前为止,我有: f=open('filename.txt').readlines() for line in f: numbers=line[0] print(numbers) 当然,它会持续打印每行的第一个数字,直到它遍历整个文档。我试过了 numbers=line[0] if numbers==1 print(number) 但这并没有让我有任何进展

对于一个程序,我有一个包含大量不同数字的文件。我需要创建一个程序,只打印以1开头的数字。到目前为止,我有:

f=open('filename.txt').readlines()
    for line in f:
        numbers=line[0]
        print(numbers)
当然,它会持续打印每行的第一个数字,直到它遍历整个文档。我试过了

numbers=line[0]
if numbers==1
    print(number)

但这并没有让我有任何进展。有人能帮我吗?谢谢。

当您阅读文件时,内容将是一个字符串或一组字符串。您可以使用字符串方法,例如:

上述代码将挑选字符串中以
“1”
开头的所有项目。但是有一个问题,因为我们不知道您的数据是什么样子的(例如,分隔符是什么),它只会返回一组。这是因为它每字节通过一行字节,因为它们是字符串,所以不可能知道1后跟0是10还是1加0

这里有一个版本,假设您的数据由
分隔,我相信您会找到如何修改它以满足您的需要

with open('filename.txt') as f:
    numbers = []
    for line in f:
        numbers.extend(x for x in line.split(",") if x.startswith("1"))
    print ", ".join(numbers)
上面的代码使用了-语句,在处理文件时应该使用该语句,因为它处理文件描述符的打开和关闭,所以您不必这样做。然后,它迭代文件的行,如果每个数字以
1
开头,则将其添加到数字列表中。最后,它将数字打印为一个长字符串,由
分隔

演示数据:

['3786, 9481, 314, 5951, 2676, 2938, 7725, 8849, 1609, 3451',
 '9036, 4079, 4718, 2180, 6609, 8864, 5391, 9663, 9431, 665',
 '6873, 2564, 559, 154, 573, 9232, 3094, 6530, 7594, 8347',
 '7150, 7889, 2108, 4278, 4362, 7282, 3784, 1943, 3655, 4335',
 '7196, 3537, 691, 5544, 70, 7171, 7375, 2911, 4992, 6834',
 '8298, 4905, 2366, 3368, 4474, 5900, 5506, 250, 1854, 4595',
 '4302, 3781, 984, 1176, 9183, 152, 9976, 2088, 9391, 8562',
 ......
 ]
示例输出:

'1609, 154, 1943, 1854, 1176, 152, 1884, 1091, 1507, 1550, 1565, 1938, 1341, 1829, 1050, 1796, 1931, 1116......'
试试这个:

numbers = line[0]
if type(numbers) == int and numbers[0] == 1:
    print(numbers)

希望这有帮助

你能给我们看一些示例数据吗?
f=open('filename.txt').readlines()
    for line in f:
        if line[0] == '1':
            print(line)
numbers = line[0]
if type(numbers) == int and numbers[0] == 1:
    print(numbers)