簡體   English   中英

如何拆分成二維數組python

[英]How to split into a 2-dimensional array python

我想將文件中的行拆分為2個單獨的(二維)數組。

例如,用戶名:密碼數組( users[user][pass]

到目前為止,這是我想出的代碼:

with open('userlist.txt', 'r') as userlist:
    for line in userlist:
        user, pwd = line.strip().split(':')
        users = [
             [user, pwd]
                ]

請幫忙。 該代碼當前僅列出所有用戶名和所有密碼。 但是我希望能夠通過相同的索引調用帶有密碼對的用戶名(例如print(users[1][1])

以下內容就足夠了。 請注意,您必須在循環之前初始化外部數據結構並將其填充到循環中:

with open('userlist.txt', 'r') as userlist:
  users = []
  for line in userlist:
    users.append(line.strip().split(':'))

可以縮短為:

with open('userlist.txt', 'r') as userlist:
  users = [line.strip().split(':') for line in userlist]

我建議你這樣

file=open('userlist.txt', 'r')
line=file.readlines()
users=[l.strip.split(':') for l in line]

這是因為它需要一行“ uname”:“ pass”,並用“:”分割它,從而得到["uname","pass"]並將其保存在用戶數組的每個索引中

您現在可以通過[users[i][0]]訪問用戶名,並通過users[i][1]密碼

正如您在問題中所描述的,您希望在每次遍歷用戶列表時向所有用戶的現有列表中添加新列表[用戶,密碼]。

您可以這樣操作:

    users = []
    with open('userlist.txt', 'r') as userlist:
        for line in userlist:
            user, pwd = line.strip().split(':')
            users.append([user, pwd])

但是對於這種情況,使用字典有更好的解決方案:

    users = {}
    with open('userlist.txt', 'r') as userlist:
        for line in userlist:
            user, pwd = line.strip().split(':')
            users[user] = pwd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM