2017-03-21 2 views
1

입력을 목록에 직접 입력하여 코드를 줄이려고합니다. 이것은 내 코드입니다.목록에 직접 입력 추가

저는 이것을 한 줄에 넣으려고합니다. 몇 가지 유사 콘텐츠를 사용해 보았지만 어느 것도 효과가 없었습니다. 이것은 파이썬에서도 가능합니까?

+0

이 가능하지만, 당신은 일반적으로 사용하기 전에 입력의 정확성을 확인하기 원하기 때문에 나는 그것을 추천하지 않을 것입니다. – nbro

+1

python 2.7 AND 3.x와 같이 코드에'input'으로 질문을 태그하지 마십시오. – timgeb

답변

3
>>> lista = list(input("Enter: ")) 
Enter: hello 
>>> lista 
['h', 'e', 'l', 'l', 'o'] 

또는, 당신은 당신이 절대적으로 어떤 이유로 지능형리스트를 사용해야한다고 주장하는 경우,

>>> lista = (lambda n: [n[i] for i in range(len(n))])(input("Enter: ")) 
Enter: hello 
>>> lista 
['h', 'e', 'l', 'l', 'o'] 

또는, 당신은 실제로 원 모두가 하나의 요소로 목록에 입력을 넣어 있다면 :

>>> lista = [input("Enter: ")] 
Enter: hello 
>>> lista 
['hello'] 
2

당신은 당신은 단지 각 전자의 밖으로 목록을 작성하고 있기 때문에 여기 range(len(n))와 이해를 사용하는 필요하지 않습니다 input에서 반환 된 문자열에 있습니다. 파이썬 >= 3.5, 대안

lista = list(input('Enter: ')) 

또는 :

한 줄에 해당 단순히 사용

lista = [*input('Enter: ')] 
0

또 다른 유용한 방법을 분석 인수에 파이썬 스크립트에 명령 줄에서 패키지 argparse입니다.

import argparse 

parser = argparse.ArgumentParser(description='Parse Arguments') 
parser.add_argument('--to-list', nargs='+', help='read Arguments as a list') 
args = parser.parse_args() 

list = args.to-list 

이 사용법은 다음과 같습니다 :

python parseArguments.py --to-list Hello World ! 

>>> list 
['Hello','World', '!'] 
1

무엇에 대해 :

letters = [letter for letter in input('Enter: ')] 

그것을 밖으로 시도

다음 예는 어떻게 목록에 인수를 구문 분석하는 방법을 보여줍니다 :

>>> letters = [letter for letter in input('Enter: ')] 
Enter: hello 
>>> letters 
['h', 'e', 'l', 'l', 'o'] 
당신이 문장을 입력하고 개별 단어를 원하는 경우

는 또는 input('Enter: ').split()를 사용합니다.