0

これは私がこれまでに持っているものです:

EX1 = open('ex1.txt')
EX1READ = EX1.read()
X1READ.splitlines(0)

['jk43:23 Marfield Lane:Plainview:NY:10023',
 'axe99:315 W. 115th Street, Apt. 11B:New      York:NY:10027',
 'jab44:23 Rivington Street, Apt. 3R:New York:NY:10002',
 'ap172:19 Boxer Rd.:New York:NY:10005',
 'jb23:115 Karas Dr.:Jersey City:NJ:07127',
 'jb29:119 Xylon Dr.:Jersey City:NJ:07127',
 'ak9:234 Main Street:Philadelphia:PA:08990']

このリストから userId を取得して、アルファベット順に印刷できるようにしたいと思います。どんなヒントも素晴らしいでしょう。

4

3 に答える 3

0

これはそれを行います:

IDs=[]
with open('ex1.txt', 'rb') as f:
    for line in f:
        IDs.append(line.split(':')[0])

print sorted(IDs)     

版画:

['ak9', 'ap172', 'axe99', 'jab44', 'jb23', 'jb29', 'jk43']

ユーザーIDが似ている場合、次のように表示jk43:23IDs.append(line.split(' ')[0])れます。

['ak9:234', 'ap172:19', 'axe99:315', 'jab44:23', 'jb23:115', 'jb29:119', 'jk43:23']

ユーザー ID が数字のみの場合は、次のIDs.append(int(line.split(' ')[0].split(':')[1]))出力を使用します。

[19, 23, 23, 115, 119, 234, 315]
于 2012-05-11T01:42:24.377 に答える
0
userIds = []

EX1 = open('ex1.txt')
X1READ = EX1.readlines()

for line in X1READ:
    useridname = line.split(" ")[0].split(":")[0];
    userid = line.split(" ")[0].split(":")[1]
    userIds.append([useridname, userid])

これを行う Pythonic の方法は他にもあると思いますが、私のメソッドはリストのリストを返します。親リストの各子リストは次のようにフォーマットされます。

["jk43", "23"]

したがって、最初のユーザー ID と ID 番号を取得するには、次のようにします。

firstUserId = userIds[0][0] + ": " + userIds[0][1]

どちらが出力しますか

「jk43:23」

ID のリストを並べ替えるには、次のようにします。

userIds = sorted(userIds, key = id: id[0])
于 2012-05-11T01:32:31.487 に答える