python 列表问题 ?
大家讲道理
大家讲道理 2017-04-17 18:01:28
0
4
390

新手勿喷

for i in  open (v):
    _temp = i.split('-')
    self._i= gen.gen(_temp[0], _temp[1])

self._i 中是多个列表[] [] [] 怎样合并成一个


cc = []
for i in  open (v):
    _temp = i.split('-')
    self= gen.gen(_temp[0], _temp[1])
    for bbc in  self:
        cc.append(i)

这样解决的 !!!

怎样把结果赋值给 self._i

 self._i = cc
    print 出来是空白 
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(4)
大家讲道理

여러 목록을 하나로 병합하려면 itertools.chain을 사용하여 연결하는 것이 가장 좋습니다. 다음은 간단한 예입니다.

으아악

귀하의 경우:

으아악

다음 여담.

@松木의 방법이 가능하고, 성능도 나쁘지 않습니다. Python에서는 증폭(향상) 연산일반 연산의 동작이 반드시 똑같지는 않습니다. 여기에서는 +을 사용하여 논의합니다.

예를 살펴보겠습니다.

으아악

이 예에서 lst1 + lst2는 새 목록을 생성하지만 lst1 += lst2은 그렇지 않습니다. 확장 작업의 경우 Python 대부분의 이 다음 규칙을 따르기 때문입니다. 🎜>

  1. 불변 유형은 작업 후 새 개체를 생성하고 변수가 개체를 참조하도록 합니다

  2. 변수 유형은

    내부 작업을 사용하여 변수가 원래 참조하는 개체

    를 확장하거나 업데이트합니다.
즉,

lst1 += lst2lst1.extend(lst2)과 동일합니다.

이는

(또는 __iadd__ ...)__imul__만 구현하는 대신 유형에 __add__(또는 __mul__ ...) 구현이 있는지 여부에 따라 달라집니다.

을 구현하지 않는 유형의 경우 Python은 대신 __iXXX__을 호출합니다. 이는 확실히 새 개체를 계산하지만 __XXX__는 원래 개체__iXXX__를 그 자리에서 업데이트합니다.

즉,

대부분 의 경우:

  1. 불변 유형은 구현되지 않습니다

    불변 객체를 업데이트하는 것은 의미가 없기 때문입니다 __iXXX__

  2. 변경 가능한 유형이 구현되어

    제자리에서 업데이트됩니다 __iXXX__

왜 자꾸 대부분을 강조하는 걸까요?

의 증폭 연산은 CPython에서 최적화되어 있기 때문에 str은 너무 일반적으로 사용됩니다. 연결 시 Python은 매번 문자열을 복사하지 않습니다. str += other


내가 답변한 질문: Python-QA

小葫芦

다음과 같은 확장 기능을 사용하세요.

으아악
洪涛

덧셈을 사용하면 더 직관적이겠지만 성능은 더 나빠질 것입니다

으아악
左手右手慢动作

이것이 좀 더 파이썬적인가요?

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿