답변
왜 직접 교체하지 않습니까? 이 hand
이 목록이 아닌 문자열이라고 가정한다
for i in pos:
newhand[i]=r.choice(cardset)
:에
for i in pos:
newhand=newhand.replace(newhand[i],r.choice(cardset))
간다. hand
만약
문자열들이 immutable
이기 때문에 변경 될 수 없습니다 당신이 문자열로 손을 유지하려면 프로그램이 시점에서 문자열,
내가,리스트로 유지하는 것이 좋습니다입니다
newhand = ''.join([(x,r.choice(cardset))[i in pos] for i,x in enumerate(newhand)])
을하지만이 newhand
에 다시 저장하기 전에 문자열로 목록에 newhand
를 변환 한 다음에 가입됩니다, 당신은 항상 할 수 있었다. 또한
if isinstance(pos, int):
pos=(pos,)
을 변경해야합니다 : 그것은 항상 false를 반환하기 때문에
pos = [int(index) for index in pos.split(',')]
당신은 isinstance
필요하지 않습니다.
newhand = '{0}{1}{2}'.format(newhand[:i], r.choice(cardset), newhand[i + 1:])
그 해결책으로이 오류가 발생합니다 : TypeError : 'str'객체가 항목 할당을 지원하지 않습니다 – user2218235
@ user2218235'hand'를 문자열로 유지하려면 두 번째 해결책을 사용하십시오. – Serdalis
정말 고마워요! – user2218235
,이 솔루션입니다. replace 함수를 호출하면 ALL 두 번째 인수로 첫 번째 인수의 인스턴스가 대체됩니다.
newhand = AKAK9이면 newhand.replace ("A", "Q")는 newhand = QKQK9가됩니다.
가능하면, 목록에 문자열을 변경 한 후이 특정 인덱스를 변경하려면 다음을 수행하십시오
필요한 경우for i in pos:
newhand[i]=r.choice(cardset)
, 당신은 다음 STR를 사용하여 다시 문자열로 newhand 목록을 변경할 수 있습니다() :
hand = ''.join(str(e) for e in newhand_list)
- 1. 문자열의 문자를 숫자로 바꾸기
- 2. python : 문자열의 특수 문자 바꾸기
- 3. 문자열의 문자를 for 루프로 바꾸기
- 4. 문자열의 마지막 문자를 조건부로 바꾸기
- 5. 여러 개의 동일한 문자를 문자열의 하나와 바꾸기
- 6. 밑줄 문자를 자바 문자열의 대문자로 바꾸기
- 7. 문자열의 잘못된 문자를 잘못된 문자로 바꾸기
- 8. 문자열의 문자 바꾸기 iPhone
- 9. Python : 입력을 기준으로 문자열의 문자를 바꾸십시오.
- 10. 문자열의 마지막 문자 바꾸기
- 11. 문자열을 문자열의 위치로 매핑하는
- 12. 문자를 백 슬래시로 바꾸기 버그 - Python
- 13. 문자열의 모든 문자 바꾸기
- 14. 문자열의 char 바꾸기
- 15. jQuery 위치로 CSS 바꾸기
- 16. 문자열의 위치 기반 바꾸기
- 17. 문자열의 부분 문자열 바꾸기
- 18. 문자열의 알파벳 문자 만 바꾸기
- 19. Swift에서 문자열의 모든 문자 바꾸기
- 20. 문자열의 문자 바꾸기
- 21. 자바 문자열의 문자를 계속 추적하십시오.
- 22. 다른 문자열의 위치로 문자열 정렬
- 23. 문자열의 html 문자 엔티티 바꾸기
- 24. SuggestionDisplay div를 올바른 위치로 바꾸기
- 25. 큐브를 OpenGL에서 원래 위치로 바꾸기
- 26. 문자열의 문자를 바꾸기 위해 random을 사용하는 함수에 대해 python 3.5에서 doctest를 작성하려면 어떻게해야합니까?
- 27. Python : replace() 함수가없는 문자열의 문자 교체
- 28. Regex.Char 위치에서 다른 문자 위치로 바꾸기
- 29. 문자열의 문자 집합 바꾸기
- 30. AngularJs : 문자열의 일부를 바꾸기
문자열 대신 목록으로 유지하지 않는 이유는 무엇입니까? 그렇다면'newhand [i] = r.choice (cardset)' –
문자열 만 변경할 수 있습니다. 새로운 것을 작성하십시오 – JBernardo