Python 문자열과 정수 연결
for 루프에 부가된 정수를 사용하여 문자열을 만듭니다.다음과 같이 합니다.
for i in range(1, 11):
string = "string" + i
그러나 다음 오류가 반환됩니다.
TypeError: +: 'int' 및 'str'에 대해 지원되지 않는 오퍼랜드 유형입니다.
문자열과 정수를 연결하는 가장 좋은 방법은 무엇입니까?
주의:
이 응답에 사용된 메서드(backticks)는 이후 버전의 Python 2에서는 사용되지 않으며 Python 3에서는 제거됩니다.대신 함수를 사용하십시오.
다음을 사용할 수 있습니다.
string = 'string'
for i in range(11):
string +=`i`
print string
인쇄됩니다.string012345678910
.
갖기 위해string0, string1 ..... string10
제안하신 대로 사용할 수 있습니다.
>>> string = "string"
>>> [string+`i` for i in range(11)]
Python 3의 경우
다음을 사용할 수 있습니다.
string = 'string'
for i in range(11):
string += str(i)
print string
인쇄됩니다.string012345678910
.
갖기 위해string0, string1 ..... string10
, 제안하신 대로 사용할 수 있습니다.
>>> string = "string"
>>> [string+str(i) for i in range(11)]
for i in range (1,10):
string="string"+str(i)
갖기 위해string0, string1 ..... string10
, 다음과 같이 할 수 있습니다.
>>> ["string"+str(i) for i in range(11)]
['string0', 'string1', 'string2', 'string3', 'string4', 'string5', 'string6', 'string7', 'string8', 'string9', 'string10']
for i in range[1,10]:
string = "string" + str(i)
그str(i)
함수는 정수를 문자열로 변환합니다.
string = 'string%d' % (i,)
for i in range(11):
string = "string{0}".format(i)
그랬습니다(range[1,10]
):
- 각 괄호는 인덱스를 나타내므로 TypeError가 됩니다.
a[3]
또는 슬라이스(a[3:5]
)의 리스트, - 이후 SyntaxError가 발생하였습니다.
[1,10]
무효입니다. - 이후 두 가지 실수가 겹치다
range(1,10)
이[1, 2, 3, 4, 5, 6, 7, 8, 9]
, 그리고 당신은 원하는 것 같습니다.[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
그리고.string = "string" + i
문자열에 정수를 추가할 수 없기 때문에(JavaScript와 달리) TypeError가 됩니다.
Python의 새로운 문자열 포맷 방법에 대한 설명서를 참조하십시오.그것은 매우 강력해요.
발전기를 사용하여 이렇게 할 수 있습니다!
def sequence_generator(limit):
""" A generator to create strings of pattern -> string1,string2..stringN """
inc = 0
while inc < limit:
yield 'string' + str(inc)
inc += 1
# To generate a generator. Notice I have used () instead of []
a_generator = (s for s in sequence_generator(10))
# To generate a list
a_list = [s for s in sequence_generator(10)]
# To generate a string
a_string = '['+ ", ".join(s for s in sequence_generator(10)) + ']'
다음과 같은 출력을 원한다면'string0123456789'
그러면 맵 기능과 문자열의 결합 방식을 사용할 수 있습니다.
>>> 'string' + "".join(map(str, xrange(10)))
'string0123456789'
문자열 값 목록을 원할 경우 목록 이해 방법을 사용합니다.
>>> ['string'+i for i in map(str,xrange(10))]
['string0', 'string1', 'string2', 'string3', 'string4', 'string5', 'string6', 'string7', 'string8', 'string9']
주의:
Python 2.x에는 xrange()를 사용합니다.
Python 3.x 의 경우는 range() 를 사용합니다.
나는 다른 일을 했다고요.
목록에서 구문이 포함된 단어를 대체하고 싶었습니다.
저는 그 문자열/단어를 문자열과 숫자 사이의 결합이 되는 새로운 단어로 바꾸고 싶었고, 그 숫자/숫자는 구/서브리스트/목록의 위치를 나타냅니다.
즉, 문자열을 문자열과 그 뒤에 이어지는 증분 번호로 대체했습니다.
myoldlist_1 = [[' myoldword'], [''], ['tttt myoldword'], ['jjjj ddmyoldwordd']]
No_ofposition = []
mynewlist_2 = []
for i in xrange(0, 4, 1):
mynewlist_2.append([x.replace('myoldword', "%s" % i + "_mynewword") for x in myoldlist_1[i]])
if len(mynewlist_2[i]) > 0:
No_ofposition.append(i)
mynewlist_2
No_ofposition
문자열과 정수의 연결은 간단합니다.사용만 하면 됩니다.
abhishek+str(2)
언급URL : https://stackoverflow.com/questions/2847386/python-strings-and-integer-concatenation
'programing' 카테고리의 다른 글
딕트를 JSON 파일에 덤프하는 방법 (0) | 2022.11.27 |
---|---|
브라우저 간 JavaScript(jQuery가 아님)를 스크롤하여 상단 애니메이션으로 이동합니다. (0) | 2022.11.27 |
j쿼리 클릭 이벤트가 여러 번 발생합니다. (0) | 2022.11.18 |
MariaDB, Django 및 127.0.0.1 (0) | 2022.11.18 |
(Python의 Mock 프레임워크를 사용하여)에서 사용되는 오픈을 어떻게 모킹합니까? (0) | 2022.11.18 |