পাইথনে অ্যারে কীভাবে ঘোষণা করবেন?


490

পাইথনে আমি কীভাবে অ্যারে ঘোষণা করব ?

ডকুমেন্টেশনে অ্যারে সম্পর্কিত কোনও রেফারেন্স খুঁজে পাচ্ছি না।


121
কিছু অকাট্য কারণে পাইথন অ্যারেগুলিকে "তালিকাগুলি" বলে। "প্রত্যেকের-জানা-এটি-তথাকথিত-যাকে-তথাকথিত বলা হয় আমরা কল করতে যাচ্ছি এটি অন্য কিছু" স্কুল ডিজাইনের স্কুল। এটি নামের একটি বিশেষভাবে খারাপ পছন্দ, কারণ এটি অ্যারের চেয়ে লিঙ্কযুক্ত তালিকার মতো দেখায়।
গ্লেন মেইনার্ড 19

42
@ গ্লেন মেইনার্ড: সম্ভবত সি-এর মতো ভাষাগুলিতে অ্যারেগুলির দৈর্ঘ্য নির্দিষ্ট সময় রয়েছে যখন পাইথনের তালিকা নেই। এটি আরও সি ​​++ তে এসটিএল ভেক্টর বা জাভাতে অ্যারেলিস্টের মতো।
এমএকে

128
এটিকে একটি তালিকা বলা হয়, কারণ এটি একটি তালিকা। [এ (), 1, 'ফু', ইউ ', 67 এল, 5.6]। একটি তালিকা. একটি অ্যারে হ'ল "কম্পিউটার মেমরির সমান দুরত্বের ঠিকানায় আইটেমগুলির ব্যবস্থা" (উইকিপিডিয়া)।
লেনার্ট রেজেব্রো

35
"অ্যারে" সর্বজনীনভাবে বোঝা শব্দ সম্পর্কে কিছুই নির্দিষ্ট দৈর্ঘ্য বা বিষয়বস্তু সম্পর্কে কিছু প্রস্তাব দেয় না; এগুলি হ'ল সি এর নির্দিষ্ট অ্যারেগুলির বাস্তবায়ন সীমাবদ্ধতা। পাইথন তালিকাগুলি সমানভাবে ব্যবধানযুক্ত (বস্তুগুলিতে পয়েন্টার, অভ্যন্তরীণভাবে), অন্যথায় __getitem__ও (1) হবে না।
গ্লেন মেইনার্ড

24
@ গ্লেন, এন.ইউইকিপিডিয়া.র.উইকি / অ্যারে_ডাটা স্ট্রাস্ট্রাকচার থেকে: "অ্যারের ডেটা স্ট্রাকচারের উপাদানগুলির একই আকার হওয়া দরকার" (পাইথনের অ্যারেগুলির জন্য সত্য, পাইথন তালিকার জন্য সত্য নয়) এবং "বৈধ সূচকের সেটআপস এবং সেট অ্যারের ব্যবহার চলাকালীন উপাদানগুলির ঠিকানা (এবং সেইজন্য উপাদান সূত্রের সূত্র) সাধারণত স্থির করা হয় "(কোনও তালিকা বা অ্যারের জন্য পাইথনে সত্য নয়)।
অ্যালেক্স মার্টেলি

উত্তর:


358
variable = []

এখন variableখালি তালিকা * বোঝায় ।

অবশ্যই এটি একটি অ্যাসাইনমেন্ট, কোনও ঘোষণা নয়। পাইথনটি বলার উপায় নেই যে "এই পরিবর্তনশীলটি কখনই তালিকা ব্যতীত অন্য কোনও কিছুকে উল্লেখ করা উচিত নয়", যেহেতু পাইথন গতিশীলভাবে টাইপ করা হয়।


* পাইথন-এর পূর্বনির্ধারিত টাইপটিকে অ্যারে নয়, তালিকা বলে । এটি স্বেচ্ছাসেবী দৈর্ঘ্যের একটি অর্ডারযুক্ত ধারক যা বস্তুর বিজাতীয় সংগ্রহ ধরে রাখতে পারে (তাদের ধরণের কোনও বিষয় নয় এবং অবাধে মিশ্রিত হতে পারে)। এটি arrayমডিউলের সাথে বিভ্রান্ত হওয়া উচিত নয় , যা সি arrayটাইপের আরও কাছাকাছি একটি প্রস্তাব দেয় ; বিষয়বস্তু অবশ্যই একজাতীয় হতে হবে (একই ধরণের সমস্ত) তবে দৈর্ঘ্যটি এখনও গতিশীল।


11
জাভাস্ক্রিপ্টের মতো অ্যারের সামগ্রীগুলি শুরু করা কি সম্ভব হবে? (যেমন, হিসাবে variable = ["Hi", "Hello"];?)
অ্যান্ডারসন গ্রিন

6
নিবন্ধন করুন
sepp2k

3
আপনি কীভাবে বহুমাত্রিক অ্যারে ঘোষণা করবেন, তারপরে (যেমন, একটি 2 ডি অ্যারে?)
অ্যান্ডারসন গ্রিন

7
@ অ্যান্ডারসগ্রিন যেমনটি আমি বলেছিলাম পাইথনে ভেরিয়েবল ডিক্লেয়ারেশনের মতো জিনিস নেই। : আপনি একটি খালি তালিকা গ্রহণ এবং এটা ভিতরে টি তালিকা নির্বাণ বা তালিকার মাত্রা লেখার সময়ে পরিচিত হয় যদি, আপনি শুধু এটা ভালো একটি আক্ষরিক যেমন লিখতে পারে একটি বহুমাত্রিক তালিকা তৈরি করবে my_2x2_list = [[a, b], [c, d]]। আপনার জন্য বহুমাত্রিক অ্যারেগুলির প্রয়োজনের উপর নির্ভর করে আপনি হয়ত ব্যবহারের বিষয়টি বিবেচনা করতে পারেন numpy, যা বহুমাত্রিক, সমজাতীয়, আনবক্সেড অ্যারেগুলির জন্য অ্যারের প্রকারগুলি সংজ্ঞায়িত করে যেখানে প্রযোজ্য ক্ষেত্রে আরও কার্যকর হতে পারে, তাই তারা সংখ্যার গণনার জন্য পছন্দনীয়।
sepp2k

1
@ ইফানিক্বাবল হ্যাঁ, যদি এতে অন্তত একটি উপাদান থাকে তবে আপনি এটি করতে পারেন।
sepp2k

136

পাইথনের এটি আশ্চর্যজনকভাবে জটিল বিষয়।

ব্যবহারিক উত্তর

অ্যারেগুলি শ্রেণি দ্বারা প্রতিনিধিত্ব করা হয় list( রেফারেন্স দেখুন এবং জেনারেটরের সাথে তাদের মিশ্রণ করবেন না )।

ব্যবহারের উদাহরণগুলি দেখুন:

# empty array
arr = [] 

# init with values (can contain mixed types)
arr = [1, "eels"]

# get item by index (can be negative to access end of array)
arr = [1, 2, 3, 4, 5, 6]
arr[0]  # 1
arr[-1] # 6

# get length
length = len(arr)

# supports append and insert
arr.append(8)
arr.insert(6, 7)

তাত্ত্বিক উত্তর

হুডের নীচে পাইথন listহ'ল একটি আসল অ্যারের জন্য একটি মোড়ক যা আইটেমের উল্লেখ রয়েছে। এছাড়াও, অন্তর্নিহিত অ্যারে কিছু অতিরিক্ত স্থান দিয়ে তৈরি করা হয়।

এর ফলাফলগুলি হ'ল:

  • এলোমেলো অ্যাক্সেস সত্যিই সস্তা ( arr[6653]একই arr[0])
  • append অপারেশনটি 'ফ্রি'র জন্য রয়েছে যখন কিছু অতিরিক্ত জায়গা
  • insert অপারেশন ব্যয়বহুল

অপারেশন জটিলতার এই দুর্দান্ত টেবিলটি দেখুন ।

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


5
কেবল যোগ করার জন্য, [1, 2, 3, 4, 5, 6, 7, 8, 9][1:-2][2, 3, 4, 5, 6, 7]
অজগরটিতে

2
আমি সময় সময় এই পোস্টের জন্য কিছু ডাউন ভোট দেখতে। কেউ যদি কেন একটি শব্দ পোস্ট করতে পারে তা দুর্দান্ত হবে। ধন্যবাদ।
আন্তন পুরিন

2
আপনি দা রিয়েল এমভিপি। যুক্তিসঙ্গত প্রোগ্রামিংয়ের সিদ্ধান্ত নেওয়ার জন্য 'তালিকার' প্রকৃত নির্বাচিত নকশা জানতে হবে। মূলত এটি সি ++ তে 'ভেক্টর' এর মতো। ধন্যবাদ!
Necro

এটি কিছু দুর্দান্ত ব্যাখ্যা সহ কিছু বাস্তব দীর্ঘ উত্তর!
আহমেদ

: আমি তুলনা জন্য ব্যবহারিক স্বরলিপি যোগ করতে পারেন, উদাহরণস্বরূপ a == b[:2]আয় যদি সত্য হয় প্রথম 2 উপাদান অ্যারের মান সমান একটি
ব্রুনো এল

124

আপনি আসলে জিনিসগুলি ঘোষণা করেন না, তবে পাইথনে আপনি এভাবে অ্যারে তৈরি করেন:

from array import array
intarray = array('i')

আরও তথ্যের জন্য অ্যারে মডিউলটি দেখুন: http://docs.python.org/library/array.html

এখন সম্ভব আপনি একটি অ্যারে, কিন্তু একটি তালিকা চান না, তবে অন্যরা ইতিমধ্যে ইতিমধ্যে উত্তর দিয়েছে। :)


10
এটি মজাদার এক ধরণের, তবে "শিক্ষানবিশ" ট্যাগ করা কোনও প্রশ্নের পক্ষে আসলেই ভাল উত্তর নয়। কেবল এটি পরিষ্কার করার জন্য: পাইথনে আপনি সাধারণত একটি ডেটা টাইপ ব্যবহার করেন list। পাইথনের একটি বিশেষ-উদ্দেশ্যযুক্ত ডেটা টাইপ রয়েছে arrayযা একটি সি অ্যারের মতোই এবং খুব কম ব্যবহৃত হয়।
স্টিভাহ

63
না, তবে প্রত্যেকে ইতিমধ্যে একটি তালিকা ব্যবহার করেছে। আমি ভেবেছিলাম এটির একটি ভাল উত্তর হবে যে এখানে অ্যারেও রয়েছে।
লেনার্ট রেজেব্রো

8
এই উত্তরের জন্য সুপার পাগল প্রপস। আমি বহু বছর ধরে পাইথনে প্রোগ্রামিং করছি এবং সম্প্রতি সম্প্রতি বুঝতে পেরেছিলাম যে এখানে একটি আসল পাইথন অ্যারে অবজেক্ট ছিল যা তালিকার অবজেক্ট থেকে আলাদা। ডেটা স্ট্রাক্ট অত্যন্ত সাদৃশ্যপূর্ণ হলেও অ্যারে কী ধরণের অবজেক্টগুলিকে ধারণ করতে পারে তা সীমাবদ্ধ করে। দুর্দান্ত উত্তর @ লেনার্টজেজব্রো!
জোশ ব্রাউন

4
এটি সঠিক উত্তর হওয়া উচিত তালিকা এবং অ্যারে দুটি ভিন্ন জিনিস @ লেনার্টেরেজিব্রো ধন্যবাদ
মিনা গ্যাব্রিয়েল

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

66

আমি মনে করি আপনি ইতিমধ্যে ভরাট 30 টি সেল সহ একটি তালিকা চান (বোঝানো)। সুতরাং

   f = []

   for i in range(30):
       f.append(0)

এটি কোথায় ব্যবহার করা যেতে পারে তার একটি উদাহরণ হ'ল ফিবোনাচি ক্রম। প্রকল্প ইউলারে সমস্যা 2 দেখুন


96
এটি একটি তালিকা আরম্ভের একটি ব্যারোক উপায়। f = [0] * 30পরিবর্তে চেষ্টা করুন।
জন Machin

@ স্লেহার অ্যানওয়ার থেকে = রেঞ্জ (10) এর মতো নয় কি? অজগরকে ভালবাসি, এটি সিনট্যাক্স এবং এটি জেন।
এম

@ erm3nda নোপ: $ পাইথন 3 পাইথন ৩.৪.২ [...] >>> এ = রেঞ্জ (10) >>> মুদ্রণ (ক) পরিসীমা (0, 10) >>>
এআরপি

37

এই হল কিভাবে:

my_array = [1, 'rebecca', 'allard', 15]

4
যেহেতু এটি একটি অজগর অ্যারে নয় তবে অজগর তালিকা, তাই এটি "মাই_লিস্ট" বলা কি কম বিভ্রান্তিকর হবে না?
ম্যাটিস এএসপি

4
এটি একটি তালিকা তৈরি করে, অ্যারে নয়। তারা পৃথক এবং অজগর বিভিন্ন বৈশিষ্ট্য আছে। বিশেষত, আপনি কোনও অ্যারের বিরুদ্ধে সংখ্যাগত অপারেশন করতে পারেন, তবে তালিকার বিরুদ্ধে নয়।
ম্যাথু

21

গণনার জন্য, এইর মতো নাম্পার অ্যারে ব্যবহার করুন :

import numpy as np

a = np.ones((3,2))        # a 2D array with 3 rows, 2 columns, filled with ones
b = np.array([1,2,3])     # a 1D array initialised using a list [1,2,3]
c = np.linspace(2,3,100)  # an array with 100 points beteen (and including) 2 and 3

print(a*1.5)  # all elements of a times 1.5
print(a.T+b)  # b added to the transpose of a

এই নকল অ্যারেগুলি সংরক্ষণ করা যায় এবং ডিস্ক থেকে লোড করা যায় (এমনকি সংক্ষেপিত) এবং বিপুল পরিমাণে উপাদান সহ জটিল গণনাগুলি সি-এর মতো দ্রুত।

বৈজ্ঞানিক পরিবেশে অনেক বেশি ব্যবহৃত হয়। আরও জন্য এখানে দেখুন।


17

জনমচিনের মন্তব্যটির আসল উত্তর হওয়া উচিত। অন্য সমস্ত উত্তরগুলি আমার মতে কেবলমাত্র কর্মক্ষেত্র! তাই:

array=[0]*element_count

সম্মত হন। এমনকি পরিবর্তনশীল "অ্যারে" কল করতে বা পিউরিস্ট ক্রোধ পেতে সতর্কতা অবলম্বন করুন। এতে আমি আরও যোগ করব যে আপনি একইভাবে "বহুমাত্রিক অ্যারে" তৈরি করতে পারেন:x=[[0] * 10] * 10
পিটার এস ম্যাগনুসন

17

বেশ কয়েকটি অবদানের পরামর্শ দিয়েছিল যে অজগরের অ্যারেগুলি তালিকা দ্বারা উপস্থাপন করা হয়। এটি ভুল। পাইথনের array()স্ট্যান্ডার্ড লাইব্রেরি মডিউলে array " array.array()" এটির একটি স্বাধীন প্রয়োগ রয়েছে তাই দুটি কে বিভ্রান্ত করা ভুল। অজগর তালিকাগুলি তালিকাগুলি তাই ব্যবহৃত নামের সাথে সতর্ক থাকুন।

list_01 = [4, 6.2, 7-2j, 'flo', 'cro']

list_01
Out[85]: [4, 6.2, (7-2j), 'flo', 'cro']

তালিকা এবং এর মধ্যে একটি খুব গুরুত্বপূর্ণ পার্থক্য রয়েছে array.array()। এই উভয় বস্তু ক্রমযুক্ত ক্রম হয়, অ্যারে। অ্যারে () একটি আদেশযুক্ত সমজাতীয় অনুক্রম যেখানে একটি তালিকা একটি অ-সমজাতীয় ক্রম হয়।


16

আপনি পাইথনে কিছু ঘোষণা করবেন না। আপনি শুধু এটি ব্যবহার করুন। আমি আপনাকে http://diveintopython.net এর মতো কিছু দিয়ে শুরু করার পরামর্শ দিচ্ছি ।


2
কিছু সময় আপনাকে অবশ্যই কোনও ভেরিয়েবলের প্রকারটি ঘোষণা করতে হবে: আপনি যদি এটির আগে কোনও নিয়ন্ত্রণ কাঠামো ব্যবহার না করেন তবে এটি নিয়ন্ত্রণ কাঠামোর বাইরে উপস্থিত না থাকে এবং আপনি একটি নতুন ভেরিয়েবল নির্মাণ করবেন। অনুমানটি হ'ল ভেরিয়েবলটি একটি ইনট, যা আপনি যদি আরও জটিল ধরণের হিসাবে এটি ব্যবহার করেন তবে সংঘর্ষ হয়।
ক্লিয়ারার

@ ক্লিয়ারার হ্যাঁ, ফাংশনগুলি ব্যবহার করে কখনও কখনও এটি ঘোষণার প্রয়োজন হয় এবং কখনও কখনও ফাংশন ব্যবহার করার সময় কিছু গ্লোবাল খেলতে হয় এবং ফাংশনগুলিতে খুব বেশি যুক্তি লিখতে চান না।
এম

এটি কেবল ফাংশন নয়; একটি সাধারণ যদি বিবৃতি আপনাকে একই সমস্যা দিতে পারে।
ক্লিয়ারার

1
প্রোগ্রামিং হ'ল ঘোষণা দেওয়ার বিষয়ে, আপনি কোন ভাষা ব্যবহার করেন না কেন। প্রকার ঘোষণার সম্পূর্ণ ভিন্ন গল্প
বাহিরে_বক্স

যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে।
অ্যাড্রিয়ান


11

লেনার্টের উত্তরে যুক্ত করতে একটি অ্যারে এভাবে তৈরি করা যেতে পারে:

from array import array
float_array = array("f",values)

যেখানে মানগুলি একটি টিপল, তালিকা, বা এনপি.আরে রূপে নিতে পারে তবে অ্যারে নয়:

values = [1,2,3]
values = (1,2,3)
values = np.array([1,2,3],'f')
# 'i' will work here too, but if array is 'i' then values have to be int
wrong_values = array('f',[1,2,3])
# TypeError: 'array.array' object is not callable

এবং আউটপুট এখনও একই থাকবে:

print(float_array)
print(float_array[1])
print(isinstance(float_array[1],float))

# array('f', [1.0, 2.0, 3.0])
# 2.0
# True

অ্যারের সাথে তালিকার কাজ করার জন্য বেশিরভাগ পদ্ধতিগুলি সাধারণ, পপ (), প্রসারিত (), এবং সংযোজন () হয়।

উত্তর এবং মন্তব্যগুলি বিচার করে দেখা যায় যে অ্যারের ডেটা স্ট্রাকচারটি তেমন জনপ্রিয় নয়। যদিও আমি এটি পছন্দ করি ঠিক তেমনভাবেই কোনও তালিকার চেয়ে টুপল পছন্দ করে।

অ্যারে কাঠামোর একটি তালিকা বা এনপি.আরেয়ের চেয়ে কঠোর নিয়ম রয়েছে এবং এটি ত্রুটিগুলি হ্রাস করতে পারে এবং ডিবাগিংকে আরও সহজ করে তুলতে পারে, বিশেষত সংখ্যাসূচক ডেটার সাথে কাজ করার সময়।

কোনও int অ্যারেতে একটি ফ্লোট সন্নিবেশ করানোর / সংযোজন করার চেষ্টাগুলি একটি টাইপ এরির ফেলে দেবে:

values = [1,2,3]
int_array = array("i",values)
int_array.append(float(1))
# or int_array.extend([float(1)])

# TypeError: integer argument expected, got float

অ্যারে আকারে পূর্ণসংখ্যা (উদাহরণস্বরূপ সূচকগুলির তালিকা) বোঝানো মানগুলি রাখার ফলে "প্রকারের ত্রুটি: তালিকার সূচকগুলি অবশ্যই পূর্ণসংখ্যার, ভাসমান নয়" রোধ করতে পারে, যেহেতু অ্যারেগুলি এনপি.আররে এবং তালিকার মতো পুনরাবৃত্তি হতে পারে:

int_array = array('i',[1,2,3])
data = [11,22,33,44,55]
sample = []
for i in int_array:
    sample.append(data[i])

বিরক্তিকরভাবে, একটি ফ্লোট অ্যারেতে কোন সংযোজন অন্তর্ভুক্ত করার ফলে ব্যতিক্রম না ছড়িয়ে ইন্টি ফ্লোটে পরিণত হবে।

এনপি.আররে এর এন্ট্রিগুলির জন্যও একই ডেটা টাইপ ধরে রাখা যায়, তবে ত্রুটি দেওয়ার পরিবর্তে এটি তার ডাটা টাইপটিকে নতুন এন্ট্রিগুলিতে ফিট করে (সাধারণত ডাবল বা স্ট্রাইটে):

import numpy as np
numpy_int_array = np.array([1,2,3],'i')
for i in numpy_int_array:
    print(type(i))
    # <class 'numpy.int32'>
numpy_int_array_2 = np.append(numpy_int_array,int(1))
# still <class 'numpy.int32'>
numpy_float_array = np.append(numpy_int_array,float(1))
# <class 'numpy.float64'> for all values
numpy_str_array = np.append(numpy_int_array,"1")
# <class 'numpy.str_'> for all values
data = [11,22,33,44,55]
sample = []
for i in numpy_int_array_2:
    sample.append(data[i])
    # no problem here, but TypeError for the other two

অ্যাসাইনমেন্টের সময় এটিও সত্য। যদি ডেটা প্রকার নির্দিষ্ট করে দেওয়া হয়, np.array, যেখানেই সম্ভব, এন্ট্রিগুলিকে সেই তথ্য প্রকারে রূপান্তরিত করবে:

int_numpy_array = np.array([1,2,float(3)],'i')
# 3 becomes an int
int_numpy_array_2 = np.array([1,2,3.9],'i')
# 3.9 gets truncated to 3 (same as int(3.9))
invalid_array = np.array([1,2,"string"],'i')
# ValueError: invalid literal for int() with base 10: 'string'
# Same error as int('string')
str_numpy_array = np.array([1,2,3],'str')
print(str_numpy_array)
print([type(i) for i in str_numpy_array])
# ['1' '2' '3']
# <class 'numpy.str_'>

বা, সংক্ষেপে:

data = [1.2,3.4,5.6]
list_1 = np.array(data,'i').tolist()
list_2 = [int(i) for i in data]
print(list_1 == list_2)
# True

অ্যারে কেবল দিতে হবে যখন:

invalid_array = array([1,2,3.9],'i')
# TypeError: integer argument expected, got float

এ কারণে, টাইপ-নির্দিষ্ট কমান্ডের জন্য এনপি.আররে ব্যবহার করা ভাল ধারণা নয়। অ্যারের কাঠামো এখানে দরকারী। তালিকা মানগুলির ডাটা টাইপ সংরক্ষণ করে।

এবং কোনও কিছুর জন্য আমি বরং বেদনাদায়ক বলে মনে করি: ডাটা টাইপটি অ্যারে () এ প্রথম আর্গুমেন্ট হিসাবে নির্দিষ্ট করা হয়, তবে (সাধারণত) এনপি.আররে () এ দ্বিতীয় হয়। : |

সি এর সাথে সম্পর্কিতটি এখানে উল্লেখ করা হয়েছে: পাইথন লিস্ট বনাম অ্যারে - কখন ব্যবহার করবেন?

মজা অন্বেষণ করুন!

দ্রষ্টব্য: অ্যারের টাইপযুক্ত এবং কঠোর প্রকৃতি পাইথনের চেয়ে সি এর দিকে বেশি ঝুঁকছে এবং ডিজাইনের দ্বারা পাইথনের কার্যকরীতে অনেক ধরণের নির্দিষ্ট সীমাবদ্ধতা নেই। এর অজনপ্রিয়তা সহযোগী কাজের ক্ষেত্রেও একটি ইতিবাচক প্রতিক্রিয়া তৈরি করে এবং এটিকে প্রতিস্থাপন করা বেশিরভাগ ক্ষেত্রে অতিরিক্ত [ইনট্রেড (এক্স) ফাইলের জন্য এক্স) জড়িত। সুতরাং অ্যারের অস্তিত্বকে উপেক্ষা করা পুরোপুরি কার্যকর এবং যুক্তিযুক্ত। এটি আমাদের বেশিরভাগ ক্ষেত্রে কোনওভাবে বাধা সৃষ্টি করা উচিত নয়। : ডি


8

এই সম্পর্কে ...

>>> a = range(12)
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> a[7]
6


5

লেনার্টের কাছ থেকে অনুসরণ করে, এমনও রয়েছে অসাধারণ যা একজাতীয় বহু-মাত্রিক অ্যারে প্রয়োগ করে।


4

আমার স্ট্রিংগুলির একটি অ্যারে ছিল এবং এটি একই দৈর্ঘ্যের বুলিয়ানগুলির সত্যতার সাথে আরম্ভের একটি অ্যারের প্রয়োজন। এটাই আমি করেছি

strs = ["Hi","Bye"] 
bools = [ True for s in strs ]

আমি এখানে আছি কারণ আমি সি ঘোষণা চেয়েছিলাম: int count[26]={0}; সম্ভবত আরও ভাল উপায় আছে তবে boolsউপরে থেকে এই বৈকল্পিকটি count=[0 for ii in range(26)]পরে কাজ করেছিল , আমি তখন এটিকে পরিবর্তন করেছি count=[0]*26যা ভাল মনে হয়।
ব্যবহারকারী1683793

2

আপনি তালিকা তৈরি করতে এবং এগুলিতে রূপান্তর করতে পারেন বা ন্যালি মডিউলটি ব্যবহার করে অ্যারে তৈরি করতে পারেন। এটি চিত্রিত করার জন্য নীচে কয়েকটি উদাহরণ দেওয়া হল। নম্পি বহুমাত্রিক অ্যারেগুলির সাথে কাজ করা আরও সহজ করে তোলে।

import numpy as np
a = np.array([1, 2, 3, 4])

#For custom inputs
a = np.array([int(x) for x in input().split()])

আপনি পুনরায় আকার ফাংশনটি ব্যবহার করে এই অ্যারেটিকে 2X2 ম্যাট্রিক্সে পুনরায় আকার দিতে পারেন যা ম্যাট্রিক্সের মাত্রা হিসাবে ইনপুট নেয়।

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