किसी अन्य सूची में निहित सूची के पहले तत्व को पुनर्प्राप्त करना - पायथन

मेरे पास निम्न कोड है:

addresses = [["Jim", 543, 65], ["Jack", 4376, 23], ["Hank", 764, 43]]
print addresses[0:][0]  # I want this to return: ["Jim", "Jack", "Hank"]`

मैं यह कैसे प्रिंट करूँगा केवल नामों में addresses?

मैंने इसका इस्तेमाल किया:

for item in addresses:
print item[0]

उत्तर:

जवाब के लिए 3 № 1

के साथ एक और समाधान map:

print(list(map(lambda x: x[0], addresses)))
["Jim", "Jack", "Hank"]

या आप उपयोग कर सकते हैं operator.itemgetter(0) @Kupiakos ने टिप्पणी में सुझाव दिया:

from operator import itemgetter(0)
print(list(map(itemgetter(0), addresses)))
["Jim", "Jack", "Hank"]

समय:

In [648]: %timeit list(map(operator.itemgetter(0), addresses))
1000000 loops, best of 3: 1.16 µs per loop

In [649]: %timeit list(map(lambda x: x[0], addresses))
1000000 loops, best of 3: 1.25 µs per loop

जवाब के लिए 2 № 2
print("n".join(zip(*addresses)[0]))
#or maybe just
print(zip(*addresses)[0])

रिंग में एक और फेंक सकता है: पी


जवाब के लिए 2 № 3
from operator import itemgetter
print(map(itemgetter(0), addresses))

यह प्रत्येक तत्व में से पहला आइटम चुनता है addresses और इससे एक नई सूची बनाता है। itemgetter(0) एक मेमने से तेज है।


जवाब के लिए 0 № 4
print([x[0] for x in addresses])

जवाब के लिए 0 № 5

इसका उपयोग करने का सबसे आसान तरीका होगा सूची समझ:

names = [a[0] for a in addresses]


जवाब के लिए 0 № 6

आप एक का उपयोग कर सकते हैं सूची समझ:

>>> names = [sublist[0] for sublist in addresses]
>>> names
["Jim", "Jack", "Hank"]

उत्तर के लिए 0 № 7

आप यह चाहते हैं:

print [a[0] for a in addresses]

यहाँ a एक उपश्रेणी है और a[0] इसका पहला तत्व है।


जवाब के लिए 0 № 8

आप एक का उपयोग कर सकते हैं list comprehension पहला आइटम पाने के लिए (item[0]) आपकी पता सूची में प्रत्येक सूची से। तो आप बस इसे प्रिंट करें। REPL से:

>>> addresses = [["Jim", 543, 65], ["Jack", 4376, 23], ["Hank", 764, 43]]
>>> [item[0] for item in addresses]
["Jim", "Jack", "Hank"]
>>> for name in [item[0] for item in addresses]:
...     print(name)
...
Jim
Jack
Hank

अजगर "रों छाप आपको इसे छोटा करने देता है:

print([item[0] for item in addresses])

संबंधित सवाल
सबसे लोकप्रिय