[英]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.