রেভেল () ফাংশনটি ব্যবহার করতে অ্যারে রূপান্তর করার তালিকা


109

পাইথনে আমার একটি তালিকা আছে এবং আমি ravel()ফাংশনটি ব্যবহার করতে সক্ষম হতে এটি এ্যারে রূপান্তর করতে চাই ।


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

উত্তর:


237

ব্যবহার numpy.asarray:

import numpy as np
myarray = np.asarray(mylist)

25
আসলে, myarray = np.array(mylist)যথেষ্ট হওয়া উচিত।
fgb

11
ঠিক আছে, এটি সুরক্ষিত কারণ এটি অ্যারে অনুলিপি করে না তবে কেবল তাদের ফিরিয়ে দেয়, তাই এটি ব্যবহার করা ভাল অভ্যাস যা যদি না নিশ্চিত হয় যে যদি না এটি নিশ্চিত হয় যে মূল ডেটার একটি অনুলিপি অপেক্ষা করা উচিত
EnricoGiampieri

1
@ এনারিকো জিয়াম্পিয়ারি, ফর্সা, তবে কী দরকার তা কি আপনার এ্যারে বের হওয়ার দরকার নেই? আমি অনুমান করি যে আপনি কোনও নতুন অ্যারে অবজেক্ট উত্পন্ন করার জন্য কীভাবে কমান্ড পাবেন না তা আমি অনুসরণ করি না।
fgb

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

আমি কেবল এটিই বলতে চেয়েছিলাম যে @fgb একটি পর্যাপ্ত সমাধানের প্রস্তাব দিয়েছে। '.asarray' ফাংশনটি একটি নমপি অবজেক্ট প্রদান করে যেখানে '.আরে আপনাকে সরাসরি অ্যারে প্রদান করে। যাইহোক, আপনাকে উভয়কে ধন্যবাদ!
অ্যাড্রিয়ান গ্রিজিওয়াকজেউস্কি

7

একটি int অ্যারে এবং একটি তালিকা তৈরি করুন

from array import array
listA = list(range(0,50))
for item in listA:
    print(item)
arrayA = array("i", listA)
for item in arrayA:
    print(item)

"আমি" কি দাঁড়াবে? এবং এটি স্ট্রিং জন্য কি হওয়া উচিত?
ড্যানি ওয়াই

6

আমি একটি অতিরিক্ত মডিউল ব্যবহার না করে এটি করার একটি উপায় চেয়েছিলাম। প্রথমে তালিকাটিকে স্ট্রিংয়ে ফিরিয়ে দিন, তারপরে একটি অ্যারেতে যুক্ত করুন:

dataset_list = ''.join(input_list)
dataset_array = []
for item in dataset_list.split(';'): # comma, or other
    dataset_array.append(item)

কোনও টাইপ সম্পাদনা করা সম্ভব নয়: প্রথম সারিতে হওয়া উচিতdataset_list = ';'.join(input_list)
অ্যালেক্স পোকা

2

যদি আপনি চান সমস্ত ravelআপনার (নেস্টেড, আমি মনে করি?) তালিকায় কল করে, আপনি সরাসরি এটি করতে পারেন, আপনার পক্ষে forালাই করতে পারবেন numpy:

L = [[1,None,3],["The", "quick", object]]
np.ravel(L)
# array([1, None, 3, 'The', 'quick', <class 'object'>], dtype=object)

এছাড়াও মূল্য উল্লেখ করে আপনি মাধ্যমে যেতে না প্রয়োজন numpyএ সব


-1

নিম্নলিখিত কোড ব্যবহার করুন:

import numpy as np

myArray=np.array([1,2,4])  #func used to convert [1,2,3] list into an array
print(myArray)

-13

যদি ভেরিয়েবল বি এর একটি তালিকা থাকে তবে আপনি কেবল নীচেরটি করতে পারেন:

একটি নতুন ভেরিয়েবল "এ" তৈরি করুন: a=[] তারপরে তালিকাটিকে "এ" হিসাবে নির্ধারণ করুন:a=b

এখন "a" এর অ্যারেতে "b" এর তালিকার সমস্ত উপাদান রয়েছে।

সুতরাং আপনি সফলভাবে তালিকাটিকে অ্যারেতে রূপান্তর করেছেন।


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