我想創建一個小型的Python程序,它需要名字和姓氏列表,並以FirstInitial格式創建一個用戶名。姓氏(區分相似姓名的可選號碼),例如P.Test16。然後將它們與現有用戶名列表以及所有其他新生成的用戶名進行比較,並通過在最後增加號碼來使它們全都是唯一的。 但是,雖然它可以將新用戶名與現有用戶名進行比較,但無法將其與其他新用戶名進行比較,例如,我目前已經有用戶名「j.moore」,並且還有兩名新用戶將擁有用戶名j。 moore,因此在while循環中第一次運行後都有用戶名「j.moore1」,但它不會在第二次運行中創建第二個「j.moore2」。下面是我的代碼Python的列表字符串比較不起作用
while len(intakearray) > 0:
nonuniqueusers = []
for row in intakearray:
if (row[2] not in usersarray) and (row[2] not in uniqueusers):
if count > 0:
print(row)
uniqueusers.append(row)
else:
nonuniqueusers.append(row)
if args.verbose >= 1:
conflicts += 1
if args.verbose == 2:
conflictingnames.append(row[2])
for row in nonuniqueusers:
newname = row[2]
if count >= 1:
newname = row[2][0:-1]
newname += str(count + 1)
row[2] = newname
intakearray = nonuniqueusers
count += 1
這遠離[mcve]!所以很難猜測你的代碼實際上做了什麼,應該做什麼。用一些名字構建一個例子列表,編寫簡單的代碼,試圖轉換列表並顯示它解釋你獲得什麼以及你想獲得什麼。你肯定會得到更多(好的)答案:-) –
@Serge Ballesta對不起,我應該更清楚一點代碼,但克里斯托弗Bohme已經回答了我的問題。 – FesteringDoubt