インタビューでこの問題を解決できませんでした。 1Dの1つのアレイのみが厳密に使用されます。提供される名前は、 優先順位1)名前の最初の文字、 の名前2)最初の文字の名前が次に表示されます。 優先順位3)その文字のみを含む名前。 文字を含まない名前は省略してください。これら3組の名前の中の名前の順序は関係ありません。文字と名前のリストはユーザーが入力します。私はPythonのソリューションを探しています。質問の例:Pythonを使用して提供された任意の文字に基づいて単一の1D配列を使用して名前をソート
入力:
'Jacob Rand,Hari Ram,Rambo Singh,Satish Kumar,Raghvan Kumar,Sam Keshav'
手紙:
R
マイ出力:
'Rambo Singh', 'Raghvan Kumar', 'Jacob Rand', 'Hari Ram'
予想される出力:
'Rambo Singh', 'Raghvan Kumar', 'Jacob Rand', 'Hari Ram', 'Satish Kumar'
コード(これは適切ではない、私はR/R(大文字/小文字)の差を処理していない+多くのアレイを使用している):
#Please note that I am looking for program which uses a single array
set1=[]
set2=[]
set3=[]
def arranged(Letter,nameList):
nameListNew=nameList.split(',')
for eachName in nameListNew:
if Letter in eachName:
if Letter==eachName[0]:
set1.append(eachName)
else:
secondName=eachName.split(' ')
if Letter==secondName[0]:
set2.append(eachName)
else:
set3.append(eachName)
OutputArray=set1+set2+set3
print(OutputArray)
listOfNames='Jacob Rand,Hari Ram,Rambo Singh,Satish KumaR,Raghvan Kumar,Sam Keshav'
arranged('R', listOfNames)
あなたは何を試しましたか? – Dashadower
できませんでした。私はこれを行うために3つの配列を作って、最後にそれらに参加しました:P。面接官はそれを完全に拒絶した。 –
失敗した場合でも、あなたの努力を示すと、私たちはあなたを助ける可能性がさらに高くなります。試行した試合の結果とその試合が間違っている理由を説明してください。ところで、問題の声明は完全に明確ではありません。名前がこれらの要件の1つ以上を満たしている場合は、最初に満たされた要件の順にリストされるか、繰り返して記載されるべきですか?単一の名前はどうですか:名前を名字として扱うのですか?ミドルネームや3つ以上の名前はどうですか? –