একক সারিতে বন্ধনী ছাড়াই তালিকা মুদ্রণ করুন


162

পাইথনে যেমন আমার একটি তালিকা আছে eg

names = ["Sam", "Peter", "James", "Julian", "Ann"]

আমি সাধারণ ছাড়া একটি একক লাইনে অ্যারে প্রিন্ট করতে চাই "[]

names = ["Sam", "Peter", "James", "Julian", "Ann"]
print (names)

আউটপুট হিসাবে দেবে;

["Sam", "Peter", "James", "Julian", "Ann"]

আমি যে ফর্ম্যাটটি চাই তার পরিবর্তে এটি চাই এটির মতো নয়;

Sam, Peter, James, Julian, Ann

দ্রষ্টব্য: এটি অবশ্যই একক সারিতে থাকা উচিত।

উত্তর:


242
print(', '.join(names))

এটি যেমন শোনাচ্ছে ঠিক তেমন তালিকার সমস্ত উপাদানই নিয়ে যায় এবং তাদের সাথে যোগ দেয় ', '


9
যদি কিছু উপাদান namesস্ট্রিং না হয় তবে তার print(', '.join(map(str,name)))পরিবর্তে ব্যবহার করুন।
বেনামে

78

এখানে একটি সহজ।

names = ["Sam", "Peter", "James", "Julian", "Ann"]
print(*names, sep=", ")

তারা তালিকাকে আনপ্যাক করে এবং তালিকার প্রতিটি উপাদানকে ফিরিয়ে দেয়।


8
ইন python 2.7.6, এটি একটি SyntaxError: invalid syntax
ফ্রেড্রিক গাউস

1
@ ফ্রেড্রিকগস আপনি যদি যোগ করেন তবে from __future__ import print_functionএটি অজগর 2 তেও কাজ করবে।
অ্যান্টনি সটাইল

1
এটি সঠিক উত্তর কারণ এটি অ-স্ট্রিংয়ের সাথেও কাজ করে।
ওটোকান

41

সাধারণ সমাধান, অ-স্ট্রিংয়ের অ্যারেগুলিতে কাজ করে:

>>> print str(names)[1:-1]
'Sam', 'Peter', 'James', 'Julian', 'Ann'

9
এটি বর্ণিত প্রয়োজনীয়তা পূরণ করে না। ওপি'র উদাহরণটি লক্ষ্য করুন যে উদ্ধৃতিবিহীন ফলাফলগুলি দেখানো হবে।
জন ওয়াই

1
@ স্টিভবেনেট দয়া করে আপনার উত্তরে টুকরো টুকরো [1: -1] ব্যাখ্যা করতে পারেন। আমি তো অজগর শিখতে শুরু করেছি। ধন্যবাদ.
চরণ

3
str(names)মত একটি স্ট্রিং উত্পন্ন ['Sam', 'Peter'...'Ann']। আমরা বর্গাকার বন্ধনী চাই না, সুতরাং দ্বিতীয় অক্ষর থেকে দ্বিতীয় শেষ অক্ষরে টুকরো টুকরো।
স্টিভ বেনেট

22

ইনপুট অ্যারের হয়, তাহলে পূর্ণসংখ্যা টাইপ তারপর আপনি প্রথম ধর্মান্তরিত অ্যারের প্রয়োজন স্ট্রিং টাইপ অ্যারের এবং তারপর ব্যবহার joinসঙ্গে যোগ দেওয়ার জন্য পদ্ধতি ,বা স্থান যাই হোক না কেন আপনি চান। উদাহরণ:

>>> arr = [1, 2, 4, 3]
>>> print(", " . join(arr))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
>>> sarr = [str(a) for a in arr]
>>> print(", " . join(sarr))
1, 2, 4, 3
>>>

যোগদানের সরাসরি ব্যবহার যা সংখ্যায় যোগ দেবে এবং স্ট্রিং উপরের শো হিসাবে ত্রুটি ছুঁড়ে দেবে।


18

দুটি উত্তর আছে, প্রথমটি 'সেপ' সেটিংস ব্যবহার করছে

>>> print(*names, sep = ', ')

অন্যটি নীচে রয়েছে

>>> print(', '.join(names))


7

','.join(list)তালিকার সমস্ত আইটেম যদি স্ট্রিং হয় তবেই কাজ করবে। আপনি যদি সংখ্যার একটি তালিকা কমা দ্বারা পৃথক করা স্ট্রিংয়ে রূপান্তর করতে চান। যেমন a = [1, 2, 3, 4]মধ্যে '1,2,3,4'তারপর আপনি পারেন

str(a)[1:-1] # '1, 2, 3, 4'

অথবা

str(a).lstrip('[').rstrip(']') # '1, 2, 3, 4'

যদিও এটি কোনও নেস্টেড তালিকা সরাবে না।

এটিকে আবার তালিকায় রূপান্তর করতে

a = '1,2,3,4'
import ast
ast.literal_eval('['+a+']')
#[1, 2, 3, 4]

4

আপনাকে তালিকাটি লুপ end=" "করতে হবে এবং এটিকে এক লাইনে রাখতে ব্যবহার করতে হবে

names = ["Sam", "Peter", "James", "Julian", "Ann"]
    index=0
    for name in names:
        print(names[index], end=", ")
        index += 1

ওপি বলছে এটি অবশ্যই একক সারিতে থাকতে হবে।
আলী

2

প্রিন্ট (* নাম)

এটি অজগর 3 এ কাজ করবে যদি আপনি চান যে সেগুলি স্থান পৃথক করে প্রিন্ট করা উচিত। আপনার যদি কমা বা অন্য কোনও কিছু প্রয়োজন হয় তবে .join () সমাধানটি নিয়ে এগিয়ে যান


1

আমি জানি না এটি অন্যের মতো দক্ষ কিনা তবে সাধারণ যুক্তি সর্বদা কার্যকর হয়:

import sys
name = ["Sam", "Peter", "James", "Julian", "Ann"]
for i in range(0, len(names)):
    sys.stdout.write(names[i])
    if i != len(names)-1:
        sys.stdout.write(", ")

আউটপুট:

স্যাম, পিটার, জেমস, জুলিয়ান, আন


0

নিম্নলিখিত ফাংশন একটি তালিকা নেবে এবং তালিকার আইটেমগুলির একটি স্ট্রিং ফিরিয়ে দেবে। এটি তখন লগিং বা মুদ্রণের উদ্দেশ্যে ব্যবহার করা যেতে পারে।

def listToString(inList):
    outString = ''
    if len(inList)==1:
        outString = outString+str(inList[0])
    if len(inList)>1:
        outString = outString+str(inList[0])
        for items in inList[1:]:
            outString = outString+', '+str(items)
    return outString

0

পূর্ণসংখ্যার ধরণের অ্যারের জন্য, আমাদের প্রথমে এটি স্ট্রিং প্রকারে পরিবর্তন করতে হবে এবং বন্ধনীগুলি ছাড়াই পরিষ্কার আউটপুট পেতে যোগ ফাংশনটি ব্যবহার করা উচিত।

    arr = [1, 2, 3, 4, 5]    
    print(', '.join(map(str, arr)))

আউটপুট - 1, 2, 3, 4, 5

স্ট্রিং ধরণের অ্যারের জন্য, বন্ধনী ছাড়াই পরিষ্কার আউটপুট পেতে আমাদের সরাসরি যুক্ত ফাংশনটি ব্যবহার করতে হবে।

    arr = ["Ram", "Mohan", "Shyam", "Dilip", "Sohan"]
    print(', '.join(arr)

আউটপুট - রাম, মোহন, শ্যাম, দিলীপ, সোহান

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.