পাইথন টিপলে আইটেম যুক্ত করুন


160

আমার কিছু অবজেক্ট.আইডি-এস রয়েছে যা আমি ব্যবহারকারীর সেশনে টিপল হিসাবে সংরক্ষণ করার চেষ্টা করি। আমি যখন প্রথমটি যুক্ত করি তখন এটি কাজ করে তবে টুপলের মতো লাগে (u'2',)তবে আমি যখন mytuple = mytuple + new.idত্রুটি পেয়ে নতুন যুক্ত করার চেষ্টা করি can only concatenate tuple (not "unicode") to tuple

উত্তর:


294

আপনাকে দ্বিতীয় উপাদানটিকে 1-টিউপল তৈরি করতে হবে, যেমন:

a = ('2',)
b = 'z'
new = a + (b,)

11
আপনার এই কমাটি কেন দরকার
এসআইস্লাম

32
@ সিস্লাম কমা ব্যতীত, এটি কেবলমাত্র বন্ধনী হিসাবে অগ্রাধিকারের ক্রমটি প্রায়শই ব্যবহৃত হবে হিসাবে ব্যাখ্যা করা হবে:(a+b)*c
জোসেফ ইয়ং

2
হ্যাঁ, তবে আপনি new = a + bপরিবর্তে এটি করতে পারেন new = a + (b,)। AFAICT, পাইথন 3 এবং পাইথন 2.7 তে একই কাজ করে।
ILMostro_7

5
@ ILMostro_7 নির্ভর করে বি কী তা
জোন

বা শীঘ্রই a += ('z',),
নম্র

54

পাইথন 3.5 ( পিইপি 448 ) যেহেতু আপনি একটি টিপল, তালিকা সেট এবং ডিকের মধ্যে আনপ্যাকিং করতে পারেন:

a = ('2',)
b = 'z'
new = (*a, b)

33

টিপল থেকে শুরু করে টিপল পর্যন্ত:

a = ('2',)
b = 'b'

l = list(a)
l.append(b)

tuple(l)

অথবা যুক্ত করতে আইটেমগুলির দীর্ঘ তালিকা সহ

a = ('2',)
items = ['o', 'k', 'd', 'o']

l = list(a)

for x in items:
    l.append(x)

print tuple(l)

আপনি দেয়

>>> 
('2', 'o', 'k', 'd', 'o')

এখানে বিন্দুটি হল: তালিকাটি একটি পরিবর্তনীয় ক্রমের ধরণ type সুতরাং আপনি উপাদান যোগ বা অপসারণ দ্বারা একটি প্রদত্ত তালিকা পরিবর্তন করতে পারেন। টিপল একটি অপরিবর্তনীয় সিকোয়েন্স টাইপ। আপনি একটি টুপল পরিবর্তন করতে পারবেন না। সুতরাং আপনাকে একটি নতুন তৈরি করতে হবে।


5
এটি কেবলমাত্র দুটি
টুপল

2
তবে আপনি যদি listtuple
ওপিতে

প্রথম পুনরায় তালিকাসহ দুটি আইটেম। তবে আপনি ঠিক বলেছেন, আমার আরও দীর্ঘতর = তালিকার উদাহরণ যুক্ত করা উচিত, আমার সম্পাদনা দেখুন
kiriloff

13

টিপল কেবল এতে যোগ tupleকরার অনুমতি দিতে পারে। এটি করার সর্বোত্তম উপায় হ'ল:

mytuple =(u'2',)
mytuple +=(new.id,)

আমি নীচের ডেটা দিয়ে একই দৃশ্যের চেষ্টা করেছি বলে মনে হচ্ছে এটি ঠিকঠাক কাজ করছে।

>>> mytuple = (u'2',)
>>> mytuple += ('example text',)
>>> print mytuple
(u'2','example text')

11
>>> x = (u'2',)
>>> x += u"random string"

Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    x += u"random string"
TypeError: can only concatenate tuple (not "unicode") to tuple
>>> x += (u"random string", )  # concatenate a one-tuple instead
>>> x
(u'2', u'random string')


1

নীচের লাইন, একটি টুপলে সংযুক্ত করার সহজ উপায় হ'ল উপাদানটি বন্ধনী এবং কমা দিয়ে যুক্ত করা হচ্ছে।

t = ('a', 4, 'string')
t = t + (5.0,)
print(t)

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