Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
172 views
in Technique[技术] by (71.8m points)

python - About list.extend(tuple)

the code is here:

>>> a = ['xyz']
>>> b = (5,)
>>> a.extend(b)
>>> a
['xyz', 5]

I checked a lot of information,but they both told me that:

list.extend(seq)
seq -- This is the list of elements

I want know why list can extend a tuple.
thx.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you look at the docstring for extend, you will see that it can be extended by any iterable:

""" L.extend(iterable) -> None -- extend list by appending elements from the iterable """

This means you are not only limited to lists or tuples, but also strings, sets, and other iterables:

for iterable in ('ab', set([1, 2, 3]), {1:2, 3:4}, (0, 1)):
    l = [1]
    l.extend(iterable)
    print(l)

This prints:

[1, 'a', 'b']
[1, 1, 2, 3]
[1, 1, 3] # Note dictionaries iterate over keys by default
[1, 0, 1]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...